diff options
author | Michael Goddard <michael.goddard@nokia.com> | 2012-02-08 23:48:58 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-09 01:33:18 +0100 |
commit | db781f29e0ccc1fa83f405a308aef73589ca3736 (patch) | |
tree | ced5c28d3d70da841f8e0e0794515f138b499281 /doc/src/snippets/multimedia-snippets/media.cpp | |
parent | c77e442b9947fb9e7101cd2d9c6df236b5840dd6 (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.cpp | 73 |
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] +} + |