QAudioProbe Class

The QAudioProbe class allows you to monitor audio being played or recorded. More...

Header: #include <QAudioProbe>
qmake: QT += multimedia
Inherits: QObject

Public Functions

QAudioProbe(QObject *parent = nullptr)
virtual ~QAudioProbe()
bool isActive() const
bool setSource(QMediaObject *source)
bool setSource(QMediaRecorder *mediaRecorder)

Signals

void audioBufferProbed(const QAudioBuffer &buffer)
void flush()

Detailed Description

 QAudioRecorder *recorder = new QAudioRecorder();
 QAudioProbe *probe = new QAudioProbe;

 // ... configure the audio recorder (skipped)

 connect(probe, SIGNAL(audioBufferProbed(QAudioBuffer)), this, SLOT(processBuffer(QAudioBuffer)));

 probe->setSource(recorder); // Returns true, hopefully.

 recorder->record(); // Now we can do things like calculating levels or performing an FFT

See also QVideoProbe, QMediaPlayer, and QCamera.

Member Function Documentation

QAudioProbe::QAudioProbe(QObject *parent = nullptr)

Creates a new QAudioProbe class with a parent. After setting the source to monitor with setSource(), the audioBufferProbed() signal will be emitted when audio buffers are flowing in the source media object.

[signal] void QAudioProbe::audioBufferProbed(const QAudioBuffer &buffer)

This signal should be emitted when an audio buffer is processed in the media service.

[signal] void QAudioProbe::flush()

This signal should be emitted when it is required to release all buffers. Application must release all outstanding references to audio buffers.

[virtual] QAudioProbe::~QAudioProbe()

Destroys this probe and disconnects from any media object.

bool QAudioProbe::isActive() const

Returns true if this probe is monitoring something, or false otherwise.

The source being monitored does not need to be active.

bool QAudioProbe::setSource(QMediaObject *source)

Sets the media object to monitor to source.

If source is zero, this probe will be deactivated and this function wil return true.

If the media object does not support monitoring audio, this function will return false.

The previous object will no longer be monitored. Passing in the same object will be ignored, but monitoring will continue.

bool QAudioProbe::setSource(QMediaRecorder *mediaRecorder)

Starts monitoring the given mediaRecorder.

Returns true on success.

If there is no mediaObject associated with mediaRecorder, or if it is zero, this probe will be deactivated and this function wil return true.

If the media recorder instance does not support monitoring audio, this function will return false.

Any previously monitored objects will no longer be monitored. Passing in the same (valid) object will be ignored, but monitoring will continue.