diff options
Diffstat (limited to 'doc/src/snippets/multimedia-snippets/audio.cpp')
-rw-r--r-- | doc/src/snippets/multimedia-snippets/audio.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/src/snippets/multimedia-snippets/audio.cpp b/doc/src/snippets/multimedia-snippets/audio.cpp index f9d9ca1ae..eb329a8d8 100644 --- a/doc/src/snippets/multimedia-snippets/audio.cpp +++ b/doc/src/snippets/multimedia-snippets/audio.cpp @@ -47,6 +47,11 @@ #include "qaudiodeviceinfo.h" #include "qaudioinput.h" #include "qaudiooutput.h" +#include "qaudioprobe.h" + +//! [Audio decoder header] +#include "qaudiodecoder_p.h" +//! [Audio decoder header] class AudioInputExample : public QObject { Q_OBJECT @@ -208,3 +213,34 @@ void AudioDeviceInfo() qDebug() << "Device name: " << deviceInfo.deviceName(); //! [Dumping audio formats] } + +class AudioDecodingExample : public QObject { + Q_OBJECT +public: + void decode(); + +public Q_SLOTS: + void stateChanged(QAudio::State newState); + void readBuffer(); +}; + +void AudioDecodingExample::decode() +{ + //! [Local audio decoding] + QAudioFormat desiredFormat; + desiredFormat.setChannelCount(2); + desiredFormat.setCodec("audio/x-raw"); + desiredFormat.setSampleType(QAudioFormat::UnSignedInt); + desiredFormat.setSampleRate(48000); + desiredFormat.setSampleSize(16); + + QAudioDecoder *decoder = new QAudioDecoder(this); + decoder->setAudioFormat(desiredFormat); + decoder->setSourceFilename("level1.mp3"); + + connect(decoder, SIGNAL(bufferReady()), this, SLOT(readBuffer())); + decoder->start(); + + // Now wait for bufferReady() signal and call decoder->read() + //! [Local audio decoding] +} |