QAudioDecoder

The QAudioDecoder class implements decoding audio. More

Inheritance diagram of PySide6.QtMultimedia.QAudioDecoder

Synopsis

Functions

Detailed Description

The QAudioDecoder class is a high level class for decoding audio media files. It is similar to the QMediaPlayer class except that audio is provided back through this API rather than routed directly to audio hardware.

See also

QAudioBuffer

class PySide6.QtMultimedia.QAudioDecoder([parent=None])
Parameters

parentPySide6.QtCore.QObject

Construct an QAudioDecoder instance with parent.

PySide6.QtMultimedia.QAudioDecoder.Error

Defines a media player error condition.

Constant

Description

QAudioDecoder.NoError

No error has occurred.

QAudioDecoder.ResourceError

A media resource couldn’t be resolved.

QAudioDecoder.FormatError

The format of a media resource isn’t supported.

QAudioDecoder.AccessDeniedError

There are not the appropriate permissions to play a media resource.

QAudioDecoder.NotSupportedError

QAudioDecoder is not supported on this platform

PySide6.QtMultimedia.QAudioDecoder.audioFormat()
Return type

PySide6.QtMultimedia.QAudioFormat

Returns the audio format the decoder is set to.

Note

This may be different than the format of the decoded samples, if the audio format was set to an invalid one.

PySide6.QtMultimedia.QAudioDecoder.bufferAvailable()
Return type

bool

Returns true if a buffer is available to be read, and false otherwise. If there is no buffer available, calling the read() function will return an invalid buffer.

PySide6.QtMultimedia.QAudioDecoder.bufferAvailableChanged(arg__1)
Parameters

arg__1 – bool

Signals the availability (if available is true) of a new buffer.

If available is false, there are no buffers available.

PySide6.QtMultimedia.QAudioDecoder.bufferReady()

Signals that a new decoded audio buffer is available to be read.

PySide6.QtMultimedia.QAudioDecoder.duration()
Return type

int

Returns total duration (in milliseconds) of the audio stream or -1 if not available.

PySide6.QtMultimedia.QAudioDecoder.durationChanged(duration)
Parameters

duration – int

Signals that the estimated duration of the decoded data has changed.

PySide6.QtMultimedia.QAudioDecoder.error()
Return type

Error

PySide6.QtMultimedia.QAudioDecoder.error(error)
Parameters

errorError

Signals that an error condition has occurred.

See also

errorString()

PySide6.QtMultimedia.QAudioDecoder.errorString()
Return type

str

Returns a human readable description of the current error, or an empty string is there is no error.

PySide6.QtMultimedia.QAudioDecoder.finished()

Signals that the decoding has finished successfully. If decoding fails, error signal is emitted instead.

PySide6.QtMultimedia.QAudioDecoder.formatChanged(format)
Parameters

formatPySide6.QtMultimedia.QAudioFormat

Signals that the current audio format of the decoder has changed to format.

PySide6.QtMultimedia.QAudioDecoder.isDecoding()
Return type

bool

PySide6.QtMultimedia.QAudioDecoder.isDecodingChanged(arg__1)
Parameters

arg__1 – bool

PySide6.QtMultimedia.QAudioDecoder.isSupported()
Return type

bool

Returns true is audio decoding is supported on this platform.

PySide6.QtMultimedia.QAudioDecoder.position()
Return type

int

Returns position (in milliseconds) of the last buffer read from the decoder or -1 if no buffers have been read.

PySide6.QtMultimedia.QAudioDecoder.positionChanged(position)
Parameters

position – int

Signals that the current position of the decoder has changed.

PySide6.QtMultimedia.QAudioDecoder.read()
Return type

PySide6.QtMultimedia.QAudioBuffer

Read a buffer from the decoder, if one is available. Returns an invalid buffer if there are no decoded buffers currently available, or on failure. In both cases this function will not block.

You should either respond to the bufferReady() signal or check the bufferAvailable() function before calling to make sure you get useful data.

PySide6.QtMultimedia.QAudioDecoder.setAudioFormat(format)
Parameters

formatPySide6.QtMultimedia.QAudioFormat

Set the desired audio format for decoded samples to format.

This property can only be set while the decoder is stopped. Setting this property at other times will be ignored.

If the decoder does not support this format, error() will be set to FormatError.

If you do not specify a format, the format of the decoded audio itself will be used. Otherwise, some format conversion will be applied.

If you wish to reset the decoded format to that of the original audio file, you can specify an invalid format.

Warning

Setting a desired audio format is not yet supported on Android.

See also

audioFormat()

PySide6.QtMultimedia.QAudioDecoder.setSource(fileName)
Parameters

fileNamePySide6.QtCore.QUrl

Sets the current audio file name to fileName.

When this property is set any current decoding is stopped, and any audio buffers are discarded.

You can only specify either a source filename or a source QIODevice . Setting one will unset the other.

See also

source()

PySide6.QtMultimedia.QAudioDecoder.setSourceDevice(device)
Parameters

devicePySide6.QtCore.QIODevice

Sets the current audio QIODevice to device.

When this property is set any current decoding is stopped, and any audio buffers are discarded.

You can only specify either a source filename or a source QIODevice . Setting one will unset the other.

See also

sourceDevice()

PySide6.QtMultimedia.QAudioDecoder.source()
Return type

PySide6.QtCore.QUrl

Returns the current file name to decode. If setSourceDevice was called, this will be empty.

See also

setSource()

PySide6.QtMultimedia.QAudioDecoder.sourceChanged()

Signals that the current source of the decoder has changed.

PySide6.QtMultimedia.QAudioDecoder.sourceDevice()
Return type

PySide6.QtCore.QIODevice

Returns the current source QIODevice , if one was set. If setSource() was called, this will be a nullptr.

PySide6.QtMultimedia.QAudioDecoder.start()

Starts decoding the audio resource.

As data gets decoded, the bufferReady() signal will be emitted when enough data has been decoded. Calling read() will then return an audio buffer without blocking.

If you call read() before a buffer is ready, an invalid buffer will be returned, again without blocking.

See also

read()

PySide6.QtMultimedia.QAudioDecoder.stop()

Stop decoding audio. Calling start() again will resume decoding from the beginning.