- Qt 5.15
- Qt Multimedia
- C++ Classes
- QAbstractAudioOutput
- Qt 5.15.18 Reference Documentation

# QAbstractAudioOutput Class

The QAbstractAudioOutput class is a base class for audio backends. More...

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

- List of all members, including inherited members

## Public Functions

virtual int | bufferSize() const = 0
virtual int | bytesFree() const = 0
virtual qint64 | elapsedUSecs() const = 0
virtual QAudio::Error | error() const = 0
virtual QAudioFormat | format() const = 0
virtual int | notifyInterval() const = 0
virtual int | periodSize() const = 0
virtual qint64 | processedUSecs() const = 0
virtual void | reset() = 0
virtual void | resume() = 0
virtual void | setBufferSize(int value) = 0
virtual void | setFormat(const QAudioFormat &fmt) = 0
virtual void | setNotifyInterval(int ms) = 0
virtual void | setVolume(qreal volume)
virtual void | start(QIODevice *device) = 0
virtual QIODevice * | start() = 0
virtual QAudio::State | state() const = 0
virtual void | stop() = 0
virtual void | suspend() = 0
virtual qreal | volume() const

## Signals

void | errorChanged(QAudio::Error error)
void | notify()
void | stateChanged(QAudio::State state)

## Detailed Description

QAbstractAudioOutput implements audio functionality for QAudioOutput, i.e., QAudioOutput routes function calls to QAbstractAudioOutput. For a description of the functionality that is implemented, see the QAudioOutput class and function descriptions.

See also QAudioOutput.

## Member Function Documentation

### `[signal]` void QAbstractAudioOutput::errorChanged(QAudio::Error error)

This signal is emitted when the error state has changed.

### `[signal]` void QAbstractAudioOutput::notify()

This signal is emitted when x ms of audio data has been processed the interval set by setNotifyInterval(x).

### `[signal]` void QAbstractAudioOutput::stateChanged(QAudio::State state)

This signal is emitted when the device state has changed.

### `[pure virtual]` int QAbstractAudioOutput::bufferSize() const

Returns the audio buffer size in bytes.

See also setBufferSize().

### `[pure virtual]` int QAbstractAudioOutput::bytesFree() const

Returns the free space available in bytes in the audio buffer.

### `[pure virtual]` qint64 QAbstractAudioOutput::elapsedUSecs() const

Returns the milliseconds since start() was called, including time in Idle and suspend states.

### `[pure virtual]` QAudio::Error QAbstractAudioOutput::error() const

Returns the error state.

### `[pure virtual]` QAudioFormat QAbstractAudioOutput::format() const

Returns the QAudioFormat being used.

See also setFormat().

### `[pure virtual]` int QAbstractAudioOutput::notifyInterval() const

Returns the notify interval in milliseconds.

See also setNotifyInterval().

### `[pure virtual]` int QAbstractAudioOutput::periodSize() const

Returns the period size in bytes.

### `[pure virtual]` qint64 QAbstractAudioOutput::processedUSecs() const

Returns the amount of audio data processed since start() was called in milliseconds.

### `[pure virtual]` void QAbstractAudioOutput::reset()

Drops all audio data in the buffers, resets buffers to zero.

### `[pure virtual]` void QAbstractAudioOutput::resume()

Resumes processing audio data after a suspend()

### `[pure virtual]` void QAbstractAudioOutput::setBufferSize(int value)

Sets the audio buffer size to value in bytes.

See also bufferSize().

### `[pure virtual]` void QAbstractAudioOutput::setFormat(const QAudioFormat &fmt)

Set the QAudioFormat to use to fmt. Setting the format is only allowable while in QAudio::StoppedState.

See also format().

### `[pure virtual]` void QAbstractAudioOutput::setNotifyInterval(int ms)

Sets the interval for notify() signal to be emitted. This is based on the ms of audio data processed not on actual real-time. The resolution of the timer is platform specific.

See also notifyInterval().

### `[virtual]` void QAbstractAudioOutput::setVolume(qreal volume)

Sets the volume. Where volume is between 0.0 and 1.0.

See also volume().

### `[pure virtual]` void QAbstractAudioOutput::start(QIODevice *device)

Uses the device as the QIODevice to transfer data.

### `[pure virtual]` QIODevice *QAbstractAudioOutput::start()

Returns a pointer to the QIODevice being used to handle the data transfer. This QIODevice can be used to write() audio data directly.

### `[pure virtual]` QAudio::State QAbstractAudioOutput::state() const

Returns the state of audio processing.

### `[pure virtual]` void QAbstractAudioOutput::stop()

Stops the audio output.

### `[pure virtual]` void QAbstractAudioOutput::suspend()

Stops processing audio data, preserving buffered audio data.

### `[virtual]` qreal QAbstractAudioOutput::volume() const

Returns the volume in the range 0.0 and 1.0.

See also setVolume().