summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-05-21 12:09:50 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-19 09:08:53 +0200
commit36ff2fe85e418e7cf82f6c6a67d49a2f16998853 (patch)
tree5d64120ddcffa9415149e1ebc3ebc7bbf86ac9bb /src/multimedia
parent0d0e89b1e89589812a91ee8d202de2576d6ae89f (diff)
Added volume property to QMediaRecorder
Change-Id: I19f727107651c9f640ca1c010a3764f05aef8820 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/controls/qmediarecordercontrol.cpp17
-rw-r--r--src/multimedia/controls/qmediarecordercontrol.h3
-rw-r--r--src/multimedia/recording/qmediarecorder.cpp26
-rw-r--r--src/multimedia/recording/qmediarecorder.h4
4 files changed, 50 insertions, 0 deletions
diff --git a/src/multimedia/controls/qmediarecordercontrol.cpp b/src/multimedia/controls/qmediarecordercontrol.cpp
index aa12bfc8d..a60eb6827 100644
--- a/src/multimedia/controls/qmediarecordercontrol.cpp
+++ b/src/multimedia/controls/qmediarecordercontrol.cpp
@@ -159,6 +159,17 @@ QMediaRecorderControl::~QMediaRecorderControl()
Sets the \a muted state of a media recorder.
*/
+/*!
+ \fn qreal QMediaRecorderControl::volume() const
+
+ Returns the linear audio gain of media recorder.
+*/
+
+/*!
+ \fn void QMediaRecorderControl::setVolume(qreal gain)
+
+ Sets the linear audio \a gain of a media recorder.
+*/
/*!
\fn void QMediaRecorderControl::stateChanged(QMediaRecorder::State state)
@@ -188,6 +199,12 @@ QMediaRecorderControl::~QMediaRecorderControl()
*/
/*!
+ \fn void QMediaRecorderControl::volume(qreal gain)
+
+ Signals that the audio \a gain value has changed.
+*/
+
+/*!
\fn void QMediaRecorderControl::actualLocationChanged(const QUrl &location)
Signals that the actual media \a location has changed.
diff --git a/src/multimedia/controls/qmediarecordercontrol.h b/src/multimedia/controls/qmediarecordercontrol.h
index f997889ae..560c3b3e8 100644
--- a/src/multimedia/controls/qmediarecordercontrol.h
+++ b/src/multimedia/controls/qmediarecordercontrol.h
@@ -75,6 +75,7 @@ public:
virtual qint64 duration() const = 0;
virtual bool isMuted() const = 0;
+ virtual qreal volume() const = 0;
virtual void applySettings() = 0;
@@ -83,12 +84,14 @@ Q_SIGNALS:
void statusChanged(QMediaRecorder::Status status);
void durationChanged(qint64 position);
void mutedChanged(bool muted);
+ void volumeChanged(qreal volume);
void actualLocationChanged(const QUrl &location);
void error(int error, const QString &errorString);
public Q_SLOTS:
virtual void setState(QMediaRecorder::State state) = 0;
virtual void setMuted(bool muted) = 0;
+ virtual void setVolume(qreal volume) = 0;
protected:
QMediaRecorderControl(QObject* parent = 0);
diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp
index 12279c4bd..d876addee 100644
--- a/src/multimedia/recording/qmediarecorder.cpp
+++ b/src/multimedia/recording/qmediarecorder.cpp
@@ -285,6 +285,9 @@ bool QMediaRecorder::setMediaObject(QMediaObject *object)
disconnect(d->control, SIGNAL(mutedChanged(bool)),
this, SIGNAL(mutedChanged(bool)));
+ disconnect(d->control, SIGNAL(volumeChanged(qreal)),
+ this, SIGNAL(volumeChanged(qreal)));
+
disconnect(d->control, SIGNAL(durationChanged(qint64)),
this, SIGNAL(durationChanged(qint64)));
@@ -388,6 +391,9 @@ bool QMediaRecorder::setMediaObject(QMediaObject *object)
connect(d->control, SIGNAL(mutedChanged(bool)),
this, SIGNAL(mutedChanged(bool)));
+ connect(d->control, SIGNAL(volumeChanged(qreal)),
+ this, SIGNAL(volumeChanged(qreal)));
+
connect(d->control, SIGNAL(durationChanged(qint64)),
this, SIGNAL(durationChanged(qint64)));
@@ -553,6 +559,26 @@ void QMediaRecorder::setMuted(bool muted)
}
/*!
+ \property QMediaRecorder::volume
+
+ \brief the linear audio gain of media recorder.
+*/
+
+qreal QMediaRecorder::volume() const
+{
+ return d_func()->control ? d_func()->control->volume() : 1.0;
+}
+
+
+void QMediaRecorder::setVolume(qreal volume)
+{
+ Q_D(QMediaRecorder);
+
+ if (d->control)
+ d->control->setVolume(volume);
+}
+
+/*!
Returns a list of supported container formats.
*/
QStringList QMediaRecorder::supportedContainers() const
diff --git a/src/multimedia/recording/qmediarecorder.h b/src/multimedia/recording/qmediarecorder.h
index 3363811ad..31ebc85da 100644
--- a/src/multimedia/recording/qmediarecorder.h
+++ b/src/multimedia/recording/qmediarecorder.h
@@ -81,6 +81,7 @@ class Q_MULTIMEDIA_EXPORT QMediaRecorder : public QObject, public QMediaBindable
Q_PROPERTY(QUrl outputLocation READ outputLocation WRITE setOutputLocation)
Q_PROPERTY(QUrl actualLocation READ actualLocation NOTIFY actualLocationChanged)
Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
+ Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(bool metaDataAvailable READ isMetaDataAvailable NOTIFY metaDataAvailableChanged)
Q_PROPERTY(bool metaDataWritable READ isMetaDataWritable NOTIFY metaDataWritableChanged)
public:
@@ -133,6 +134,7 @@ public:
qint64 duration() const;
bool isMuted() const;
+ qreal volume() const;
QStringList supportedContainers() const;
QString containerDescription(const QString &format) const;
@@ -176,12 +178,14 @@ public Q_SLOTS:
void pause();
void stop();
void setMuted(bool muted);
+ void setVolume(qreal volume);
Q_SIGNALS:
void stateChanged(QMediaRecorder::State state);
void statusChanged(QMediaRecorder::Status status);
void durationChanged(qint64 duration);
void mutedChanged(bool muted);
+ void volumeChanged(qreal volume);
void actualLocationChanged(const QUrl &location);
void error(QMediaRecorder::Error error);