summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/multimedia-snippets/audio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets/multimedia-snippets/audio.cpp')
-rw-r--r--doc/src/snippets/multimedia-snippets/audio.cpp36
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]
+}