- Qt 6.12
- Qt Multimedia
- C++ Classes
- QtMultimedia
- QAudioOutput
- Qt 6.12.0 Reference Documentation

# QAudioOutput Class

Represents an output channel for audio. More...

Header: | `#include <QAudioOutput>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Multimedia)` `target_link_libraries(mytarget PRIVATE Qt6::Multimedia)`
qmake: | `QT += multimedia`
In QML: | AudioOutput
Inherits: | QObject

- List of all members, including inherited members

## Properties

- device : QAudioDevice
- muted : bool
- volume : float

## Public Functions

QAudioDevice | device() const
bool | isMuted() const
float | volume() const

## Public Slots

void | setDevice(const QAudioDevice &device)
void | setMuted(bool muted)
void | setVolume(float volume)

## Signals

void | deviceChanged()
void | mutedChanged(bool muted)
void | volumeChanged(float volume)

## Detailed Description

This class represents an output channel that can be used together with QMediaPlayer or QMediaCaptureSession. It enables the selection of the physical output device to be used, muting the channel, and changing the channel's volume.

Note: On WebAssembly platform, due to its asynchronous nature, QMediaDevices::audioOutputsChanged() signal is emitted when the list of audio outputs is ready. User permissions are required. Works only on secure https contexts.

See also QAudioInput.

## Property Documentation

### device : QAudioDevice

This property holds the audio device connected to this output.

The device property represents the audio device this output is connected to. This property can be used to select an output device from the QMediaDevices::audioOutputs list. You can select the system default audio output by setting this property to a default constructed QAudioDevice object.

Access functions:

QAudioDevice | device() const
void | setDevice(const QAudioDevice &device)

Notifier signal:

void | deviceChanged()

### muted : bool

This property holds the muted state of the current media.

The value will be `true` if the output is muted; otherwise `false`.

Access functions:

bool | isMuted() const
void | setMuted(bool muted)

Notifier signal:

void | mutedChanged(bool muted)

### volume : float

This property holds the current volume.

The volume is scaled linearly, ranging from `0` (silence) to `1` (full volume).

Note: values outside this range will be clamped.

By default the volume is `1`.

UI volume controls should usually be scaled non-linearly. For example, using a logarithmic scale will produce linear changes in perceived loudness, which is what a user would normally expect from a volume control.

Access functions:

float | volume() const
void | setVolume(float volume)

Notifier signal:

void | volumeChanged(float volume)

See also QtAudio::convertVolume().