QAudioDevice#

The QAudioDevice class provides an information about audio devices and their functionality. More

Synopsis#

Properties#

Functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

QAudioDevice describes an audio device available in the system, either for input or for playback.

A QAudioDevice is used by Qt to construct classes that communicate with the device – such as QAudioSource , and QAudioSink . It is also used to determine the input or output device to use in a capture session or during media playback.

You can also query each device for the formats it supports. A format in this context is a set consisting of a channel count, sample rate, and sample type. A format is represented by the QAudioFormat class.

The values supported by the device for each of these parameters can be fetched with minimumChannelCount() , maximumChannelCount() , minimumSampleRate() , maximumSampleRate() and supportedSampleFormats() . The combinations supported are dependent on the audio device capabilities. If you need a specific format, you can check if the device supports it with isFormatSupported() . For instance:

sourceFile.setFileName("/tmp/test.raw")
sourceFile.open(QIODevice.ReadOnly)
format = QAudioFormat()
# Set up the format, eg.
format.setSampleRate(8000)
format.setChannelCount(1)
format.setSampleFormat(QAudioFormat.UInt8)
info = QAudioDevice(QMediaDevices.defaultAudioOutput())
if not info.isFormatSupported(format):
    qWarning() << "Raw audio format not supported by backend, cannot play audio."
    return

audio = QAudioSink(format, self)
audio.connect(QAudioSink::stateChanged, self.handleStateChanged)
audio.start(sourceFile)

The set of available devices can be retrieved from the QMediaDevices class.

For instance:

devices = QMediaDevices.audioOutputs()
for device in devices:
    print("Device: ", device.description())

In this code sample, we loop through all devices that are able to output sound, i.e., play an audio stream in a supported format. For each device we find, we simply print the deviceName().

class PySide6.QtMultimedia.QAudioDevice#

PySide6.QtMultimedia.QAudioDevice(other)

Parameters:

otherPySide6.QtMultimedia.QAudioDevice

Constructs a null QAudioDevice object.

Constructs a copy of other.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.QtMultimedia.QAudioDevice.description: str#

Returns a human readable name of the audio device.

Use this string to present the device to the user.

Access functions:
property PᅟySide6.QtMultimedia.QAudioDevice.id: PySide6.QtCore.QByteArray#

Returns an identifier for the audio device.

Device names vary depending on the platform/audio plugin being used.

They are a unique identifier for the audio device.

Access functions:
property PᅟySide6.QtMultimedia.QAudioDevice.isDefault: bool#

Returns true if this is the default audio device.

Access functions:
property PᅟySide6.QtMultimedia.QAudioDevice.mode: Mode#

Returns whether this device is an input or output device.

Access functions:
PySide6.QtMultimedia.QAudioDevice.Mode#

Describes the mode of this device.

Constant

Description

QAudioDevice.Null

A null device.

QAudioDevice.Input

An input device.

QAudioDevice.Output

An output device.

PySide6.QtMultimedia.QAudioDevice.channelConfiguration()#
Return type:

ChannelConfig

Returns the channel configuration of the device.

PySide6.QtMultimedia.QAudioDevice.description()#
Return type:

str

Getter of property description .

PySide6.QtMultimedia.QAudioDevice.id()#
Return type:

PySide6.QtCore.QByteArray

Getter of property id .

PySide6.QtMultimedia.QAudioDevice.isDefault()#
Return type:

bool

Getter of property isDefault .

PySide6.QtMultimedia.QAudioDevice.isFormatSupported(format)#
Parameters:

formatPySide6.QtMultimedia.QAudioFormat

Return type:

bool

Returns true if the supplied settings are supported by the audio device described by this QAudioDevice .

PySide6.QtMultimedia.QAudioDevice.isNull()#
Return type:

bool

Returns whether this QAudioDevice object holds a valid device definition.

PySide6.QtMultimedia.QAudioDevice.maximumChannelCount()#
Return type:

int

Returns the maximum number of supported channel counts.

This is typically 1 for mono sound, or 2 for stereo sound.

PySide6.QtMultimedia.QAudioDevice.maximumSampleRate()#
Return type:

int

Returns the maximum supported sample rate (in Hertz).

PySide6.QtMultimedia.QAudioDevice.minimumChannelCount()#
Return type:

int

Returns the minimum number of supported channel counts.

This is typically 1 for mono sound, or 2 for stereo sound.

PySide6.QtMultimedia.QAudioDevice.minimumSampleRate()#
Return type:

int

Returns the minimum supported sample rate (in Hertz).

PySide6.QtMultimedia.QAudioDevice.mode()#
Return type:

Mode

Getter of property mode .

PySide6.QtMultimedia.QAudioDevice.__ne__(other)#
Parameters:

otherPySide6.QtMultimedia.QAudioDevice

Return type:

bool

Returns true if this QAudioDevice class represents a different audio device than other

PySide6.QtMultimedia.QAudioDevice.__eq__(other)#
Parameters:

otherPySide6.QtMultimedia.QAudioDevice

Return type:

bool

Returns true if this QAudioDevice class represents the same audio device as other.

PySide6.QtMultimedia.QAudioDevice.preferredFormat()#
Return type:

PySide6.QtMultimedia.QAudioFormat

Returns the default audio format settings for this device.

These settings are provided by the platform/audio plugin being used.

They are also dependent on the QAudio ::Mode being used.

A typical audio system would provide something like:

  • Input settings: 48000Hz mono 16 bit.

  • Output settings: 48000Hz stereo 16 bit.

PySide6.QtMultimedia.QAudioDevice.supportedSampleFormats()#
Return type:

.list of QAudioFormat.SampleFormat

Returns a list of supported sample types.

PySide6.QtMultimedia.QAudioDevice.swap(other)#
Parameters:

otherPySide6.QtMultimedia.QAudioDevice

Swaps the audio device with the other.