centralize and fixup example sources install targets
This follows suit with aeb036e in qtbase. Change-Id: Ie8580d0a1f38ab9858b0e44c9f99bdc552a1752a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
committed by
The Qt Project
parent
90c8ba233b
commit
6b4994c265
BIN
examples/multimedia/audiorecorder/doc/images/audiorecorder.png
Normal file
BIN
examples/multimedia/audiorecorder/doc/images/audiorecorder.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
104
examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc
Normal file
104
examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc
Normal file
@@ -0,0 +1,104 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the documentation of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:FDL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Free Documentation License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Free
|
||||
** Documentation License version 1.3 as published by the Free Software
|
||||
** Foundation and appearing in the file included in the packaging of
|
||||
** this file. Please review the following information to ensure
|
||||
** the GNU Free Documentation License version 1.3 requirements
|
||||
** will be met: http://www.gnu.org/copyleft/fdl.html.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
/*!
|
||||
\example audiorecorder
|
||||
\title Audio Recorder Example
|
||||
\ingroup audio_examples
|
||||
\brief The Audio Recorder Example shows how to create a simple audio recorder.
|
||||
|
||||
It demonstrates the discovery of the supported devices and codecs and the use
|
||||
of recording functions in the QAudioRecorder class.
|
||||
|
||||
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{QMultimedia::VeryHighQuality} with a default value of
|
||||
\l{QMultimedia::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(QMultimedia::EncodingQuality(ui->qualitySlider->value()));
|
||||
settings.setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
|
||||
QMultimedia::ConstantQualityEncoding :
|
||||
QMultimedia::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
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user