QMediaDevices Class

The QMediaDevices class provides information about available multimedia input and output devices. More...

Header: #include <QMediaDevices>
CMake: find_package(Qt6 COMPONENTS Multimedia REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Instantiated By: MediaDevices
Inherits: QObject

Signals

Static Public Members

QList<QAudioDevice> audioInputs()
QList<QAudioDevice> audioOutputs()
QAudioDevice defaultAudioInput()
QAudioDevice defaultAudioOutput()
QCameraDevice defaultVideoInput()
QList<QCameraDevice> videoInputs()

Detailed Description

The QMediaDevices class provides information about the available multimedia devices and the system defaults. It monitors the following three groups:

  • Audio input devices (Microphones)
  • Audio output devices (Speakers, Headsets)
  • Video input devices (Cameras)

QMediaDevices provides a separate list for each device group. If it detects that a new device has been connected to the system or an attached device has been disconnected from the system, it will update the corresponding device list and emit a signal notifying about the change.

QMediaDevices monitors the system defaults for each device group. It will notify about any changes done through the system settings. For example, if the user selects a new default audio output in the system settings, QMediaDevices will update the default audio output accordingly and emit a signal. If the system does not provide a default for a camera or an audio input, QMediaDevices will select the first device from the list as the default device.

While using the default input and output devices is often sufficient for playing back or recording multimedia, there is often a need to explicitly select the device to be used.

QMediaDevices is a singleton object and all getters are thread-safe.

Member Function Documentation

[static] QList<QAudioDevice> QMediaDevices::audioInputs()

Returns a list of available audio input devices on the system.

Those devices are usually microphones. Devices can be either built-in, or connected through for example USB or Bluetooth.

Note: Getter function for property audioInputs.

[static] QList<QAudioDevice> QMediaDevices::audioOutputs()

Returns a list of available audio output devices on the system.

Those devices are usually loudspeakers or head sets. Devices can be either built-in, or connected through for example USB or Bluetooth.

Note: Getter function for property audioOutputs.

[static] QAudioDevice QMediaDevices::defaultAudioInput()

Returns the default audio input device.

The default device can change during the runtime of the application. The audioInputsChanged() signal is emitted in this case.

Note: Getter function for property defaultAudioInput.

[static] QAudioDevice QMediaDevices::defaultAudioOutput()

Returns the default audio output device.

The default device can change during the runtime of the application. The audioOutputsChanged() signal is emitted in this case.

Note: Getter function for property defaultAudioOutput.

[static] QCameraDevice QMediaDevices::defaultVideoInput()

Returns the default camera on the system.

/note The returned object should be checked using isNull() before being used, in case there is no default camera or no cameras at all.

The default device can change during the runtime of the application. The videoInputsChanged() signal is emitted in that case.

Note: Getter function for property defaultVideoInput.

See also videoInputs().

[static] QList<QCameraDevice> QMediaDevices::videoInputs()

Returns a list of available cameras on the system.

Note: Getter function for property videoInputs.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.