diff options
author | Jonas Rabbe <jonas.rabbe@nokia.com> | 2012-02-14 08:41:51 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-14 02:02:51 +0100 |
commit | d8f4ab8615c94c0c767aa7701bdf7bb3f0b78458 (patch) | |
tree | 7a7944320525752dd2285f0707155eee2864b686 | |
parent | 048e38bd19b2a465469b5ff0c2bdc97857aded84 (diff) |
Updated audio recorder example with screenshot and correct information.
Change-Id: Ibf0dc8df55f20988a949e49b1b434710373f0095
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
-rw-r--r-- | doc/src/examples/audiorecorder.qdoc | 88 | ||||
-rw-r--r-- | doc/src/images/audiorecorder.png | bin | 0 -> 28212 bytes |
2 files changed, 62 insertions, 26 deletions
diff --git a/doc/src/examples/audiorecorder.qdoc b/doc/src/examples/audiorecorder.qdoc index 4145f9a0f..6565daa89 100644 --- a/doc/src/examples/audiorecorder.qdoc +++ b/doc/src/examples/audiorecorder.qdoc @@ -31,36 +31,72 @@ - This example shows how to create a simple audio recorder using the QtMobility + This example shows how to create a simple audio recorder using the Qt Multimedia API. - We can easily setup the capture when we create the objects using a - QMediaRecorder initialized with a QAudioCaptureSource object. + We display a window for the user to select the appropriate audio input, + codec, container, and sample rate. Allow a setting of either quality or + bitrate. Finally, the output file can be selected and recording can be + started. + + The lists are setup using the \l{QAudioRecorder::audioInputs()}{audioInputs()}, + \l{QAudioRecorder::supportedAudioCodecs()}{supportedAudioCodecs()}, + \l{QAudioRecorder::supportedContainers()}{supportedContainers()}, + \l{QAudioRecorder::supportedContainers()}{supportedContainers()}, and + \l{QAudioRecorder::supportedAudioSampleRates()}{supportedAudioSampleRates()} + methods. The quality slider is setup from 0 (zero) to + \l{QtMultimedia::VeryHighQuality} with a default value of + \l{QtMultimedia::NormalQuality}, while the bitrates are hardcoded + into the list. + + \image audiorecorder.png + + To record audio we simply create a QAudioRecorder object. + + \code + audioRecorder = new QAudioRecorder(this); + \endcode + + And setup the lists as described above. The text on the record and pause + buttons are toggled depending on the \l{QMediaRecorder::State}{state} of + the \c audioRecorder object. This means that if the state is + \l{QMediaRecorder::StoppedState} then the button text will be "Record" and + "Pause". In \l{QMediaRecorder::RecordingState} the record button will have + the text "Stop", and in \l{QMediaRecorder::PausedState} the pause button + will have the text "Resume". + + Pressing the buttons will also result in a toggle based on the state. If + recording is stopped, then pressing the record button will setup the + \l{QAudioEncoderSettings} based on the values of the selection lists, + will set the encoding settings and container on the \c audioRecorder + object, and start recording using the + \l{QMediaRecorder::record()}{record()} method. + + \code + QAudioEncoderSettings settings; + settings.setCodec(boxValue(ui->audioCodecBox).toString()); + settings.setSampleRate(boxValue(ui->sampleRateBox).toInt()); + settings.setBitRate(boxValue(ui->bitrateBox).toInt()); + settings.setQuality(QtMultimedia::EncodingQuality(ui->qualitySlider->value())); + settings.setEncodingMode(ui->constantQualityRadioButton->isChecked() ? + QtMultimedia::ConstantQualityEncoding : + QtMultimedia::ConstantBitRateEncoding); + + QString container = boxValue(ui->containerBox).toString(); + + audioRecorder->setEncodingSettings(settings, QVideoEncoderSettings(), container); + audioRecorder->record(); + \endcode + + While recording, the status bar of the application is updated with duration information + from the \l{QMediaRecorder::durationChanged()}{durationChanged} signal from the + \c audioRecorder object. + + \code + ui->statusbar->showMessage(tr("Recorded %1 sec").arg(duration / 1000)); + \endcode - \snippet snippets/multimedia-snippets/audiorecorder.cpp create-objs-1 - Then we set up the display of a list of available sources to use - - \snippet snippets/multimedia-snippets/audiorecorder.cpp device-list - - And available codecs - - \snippet snippets/multimedia-snippets/audiorecorder.cpp codec-list - - We display a dialog for the user to select the appropriate codec and the - input device to capture. Once selected we can use user interface objects - like buttons to start and stop the recording and display elapsed time. - - \snippet snippets/multimedia-snippets/audiorecorder.cpp get-device - - Then use signals to indicate a change to the output filename, the codec - and the audio source. - - When the button to record is pushed the toggleRecord() slot will start - or stop the recording process using the \l{QMediaRecorder::record()} - and \l{QMediaRecorder::stop()} functions of the QMediaRecorder object. - - \snippet snippets/multimedia-snippets/audiorecorder.cpp toggle-record */ diff --git a/doc/src/images/audiorecorder.png b/doc/src/images/audiorecorder.png Binary files differnew file mode 100644 index 000000000..6643bf320 --- /dev/null +++ b/doc/src/images/audiorecorder.png |