summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/multimedia-snippets/media.cpp
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-02-08 23:48:58 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-09 01:33:18 +0100
commitdb781f29e0ccc1fa83f405a308aef73589ca3736 (patch)
treeced5c28d3d70da841f8e0e0794515f138b499281 /doc/src/snippets/multimedia-snippets/media.cpp
parentc77e442b9947fb9e7101cd2d9c6df236b5840dd6 (diff)
Add some recent things to the overview docs.
Also clean up a few other doc related bits and pieces. Change-Id: I56714e1811e38a7225131c1d141430b49f5f509c Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'doc/src/snippets/multimedia-snippets/media.cpp')
-rw-r--r--doc/src/snippets/multimedia-snippets/media.cpp73
1 files changed, 70 insertions, 3 deletions
diff --git a/doc/src/snippets/multimedia-snippets/media.cpp b/doc/src/snippets/multimedia-snippets/media.cpp
index 4fc38b4d4..7e7a95f69 100644
--- a/doc/src/snippets/multimedia-snippets/media.cpp
+++ b/doc/src/snippets/multimedia-snippets/media.cpp
@@ -52,6 +52,10 @@
#include "qvideowidget.h"
#include "qcameraimagecapture.h"
#include "qcamera.h"
+#include "qcameraviewfinder.h"
+#include "qaudioprobe.h"
+#include "qaudiorecorder.h"
+#include "qvideoprobe.h"
class MediaExample : public QObject {
Q_OBJECT
@@ -60,8 +64,11 @@ class MediaExample : public QObject {
void MediaPlayer();
void RadioTuna();
void MediaRecorder();
+ void AudioRecorder();
void EncoderSettings();
void ImageEncoderSettings();
+ void AudioProbe();
+ void VideoProbe();
private:
// Common naming
@@ -73,9 +80,14 @@ private:
QMediaContent video;
QMediaRecorder *recorder;
QCamera *camera;
+ QCameraViewfinder *viewfinder;
QCameraImageCapture *imageCapture;
QString fileName;
QRadioTuner *radio;
+ QAudioRecorder *audioRecorder;
+ QAudioProbe *audioProbe;
+ QVideoProbe *videoProbe;
+
QMediaContent image1;
QMediaContent image2;
QMediaContent image3;
@@ -182,7 +194,6 @@ void MediaExample::MediaPlayer()
void MediaExample::MediaRecorder()
{
//! [Media recorder]
- // Audio only recording
recorder = new QMediaRecorder(camera);
QAudioEncoderSettings audioSettings;
@@ -194,8 +205,10 @@ void MediaExample::MediaRecorder()
recorder->setOutputLocation(QUrl::fromLocalFile(fileName));
recorder->record();
//! [Media recorder]
+}
-#if 0
+void MediaExample::AudioRecorder()
+{
//! [Audio recorder]
audioRecorder = new QAudioRecorder;
@@ -221,7 +234,6 @@ void MediaExample::MediaRecorder()
audioRecorder->setAudioInput(selectedInput);
//! [Audio recorder endpoints]
-#endif
}
void MediaExample::RadioTuna()
@@ -238,4 +250,59 @@ void MediaExample::RadioTuna()
//! [Radio tuner]
}
+void MediaExample::AudioProbe()
+{
+ //! [Audio probe]
+ audioRecorder = new QAudioRecorder;
+
+ QAudioEncoderSettings audioSettings;
+ audioSettings.setCodec("audio/amr");
+ audioSettings.setQuality(QtMultimedia::HighQuality);
+
+ audioRecorder->setEncodingSettings(audioSettings);
+
+ audioRecorder->setOutputLocation(QUrl::fromLocalFile("test.amr"));
+
+ audioProbe = new QAudioProbe(this);
+ if (audioProbe->setSource(audioRecorder)) {
+ // Probing succeeded, audioProbe->isValid() should be true.
+ connect(audioProbe, SIGNAL(audioBufferProbed(QAudioBuffer)),
+ this, SLOT(calculateLevel(QAudioBuffer)));
+ }
+
+ audioRecorder->record();
+ // Now audio buffers being recorded should be signaled
+ // by the probe, so we can do things like calculating the
+ // audio power level, or performing a frequency transform
+ //! [Audio probe]
+}
+
+void MediaExample::VideoProbe()
+{
+ //! [Video probe]
+ camera = new QCamera;
+ viewfinder = new QCameraViewfinder();
+ camera->setViewfinder(viewfinder);
+
+ camera->setCaptureMode(QCamera::CaptureVideo);
+
+ videoProbe = new QVideoProbe(this);
+
+ if (videoProbe->setSource(camera)) {
+ // Probing succeeded, videoProbe->isValid() should be true.
+ connect(videoProbe, SIGNAL(videoFrameProbed(QVideoFrame)),
+ this, SLOT(detectBarcodes(QVideoFrame)));
+ }
+
+ camera->start();
+ // Viewfinder frames should now also be emitted by
+ // the video probe, even in still image capture mode.
+ // Another alternative is to install the probe on a
+ // QMediaRecorder connected to the camera to get the
+ // recorded frames, if they are different from the
+ // viewfinder frames.
+
+ //! [Video probe]
+}
+