Sur cette page

QMediaDevices Class

La classe QMediaDevices fournit des informations sur les périphériques d'entrée et de sortie multimédia disponibles. En savoir plus...

En-tête : #include <QMediaDevices>
CMake : find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake : QT += multimedia
En QML : MediaDevices
Hérite de : QObject

Propriétés

Signaux

Membres publics statiques

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

Description détaillée

La classe QMediaDevices fournit des informations sur les périphériques multimédias disponibles et les paramètres par défaut du système. Elle surveille les trois groupes suivants :

  • Périphériques d'entrée audio (microphones)
  • Périphériques de sortie audio (haut-parleurs, casques)
  • Périphériques d'entrée vidéo (caméras)

QMediaDevices fournit une liste distincte pour chaque groupe de périphériques. Si elle détecte qu’un nouveau périphérique a été connecté au système ou qu’un périphérique connecté a été déconnecté, elle met à jour la liste des périphériques correspondante et émet un signal signalant ce changement.

Les fonctions ` QMediaDevices::audioInputs ` et ` QMediaDevices::audioOutputs ` permettent de répertorier tous les microphones et haut-parleurs/casques présents sur le système. Cet exemple récupère d’abord la liste de tous les microphones connectés, puis affiche leur identifiant, leur description et indique s’il s’agit ou non du périphérique par défaut.

const QList<QAudioDevice> audioDevices = QMediaDevices::audioInputs();
for (const QAudioDevice &device : audioDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

De même, la fonction ` QMediaDevices::videoInputs ` renvoie une liste de toutes les caméras connectées. Dans cet exemple, nous répertorions toutes les caméras connectées ainsi que leur identifiant, leur description et si elles sont ou non la caméra par défaut.

const QList<QCameraDevice> videoDevices = QMediaDevices::videoInputs();
for (const QCameraDevice &device : videoDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

QMediaDevices surveille les paramètres par défaut du système pour chaque groupe de périphériques. Il signalera toute modification effectuée via les paramètres système. Par exemple, si l’utilisateur sélectionne une nouvelle sortie audio par défaut dans les paramètres système, QMediaDevices mettra à jour la sortie audio par défaut en conséquence et émettra un signal. Si le système ne fournit pas de valeur par défaut pour une caméra ou une entrée audio, QMediaDevices sélectionnera le premier périphérique de la liste comme périphérique par défaut.

Bien que l’utilisation des périphériques d’entrée et de sortie par défaut soit souvent suffisante pour la lecture ou l’enregistrement de contenu multimédia, il est souvent nécessaire de sélectionner explicitement le périphérique à utiliser.

Les méthodes statiques de QMediaDevices sont thread-safe et font référence à un objet singleton sous-jacent.

Remarque : sur la plateforme WebAssembly, en raison de sa nature asynchrone, les listes de périphériques ne seront disponibles qu’après les notifications « audioInputsChanged », « audioOutputsChanged » ou « videoInputsChanged ».

Documentation des propriétés

[read-only] audioInputs : QList<QAudioDevice>

Renvoie une liste des périphériques d'entrée audio disponibles sur le système.

Ces périphériques sont généralement des microphones. Ils peuvent être intégrés ou connectés, par exemple via USB ou Bluetooth.

Fonctions d'accès :

QList<QAudioDevice> audioInputs()

Signal de notification :

void audioInputsChanged()

[read-only] audioOutputs : QList<QAudioDevice>

Renvoie une liste des périphériques de sortie audio disponibles sur le système.

Ces périphériques sont généralement des haut-parleurs ou des casques. Ils peuvent être intégrés au système ou connectés, par exemple via USB ou Bluetooth.

Fonctions d'accès :

QList<QAudioDevice> audioOutputs()

Signal de notification :

void audioOutputsChanged()

[read-only] defaultAudioInput : QAudioDevice

Renvoie le périphérique d'entrée audio par défaut.

Le périphérique par défaut peut changer pendant l'exécution de l'application. Dans ce cas, le signal audioInputsChanged() est émis.

Fonctions d'accès :

QAudioDevice defaultAudioInput()

Signal de notification :

[read-only] defaultAudioOutput : QAudioDevice

Renvoie le périphérique de sortie audio par défaut.

Le périphérique par défaut peut changer pendant l'exécution de l'application. Dans ce cas, le signal ` audioOutputsChanged()` est émis.

Fonctions d’accès :

QAudioDevice defaultAudioOutput()

Signal de notification :

[read-only] defaultVideoInput : QCameraDevice

Renvoie la caméra par défaut du système.

Remarque : l'objet renvoyé doit être vérifié à l'aide de la fonction isNull() avant d'être utilisé, au cas où il n'y aurait pas de caméra par défaut ou aucune caméra du tout.

Le périphérique par défaut peut changer pendant l'exécution de l'application. Dans ce cas, le signal « videoInputsChanged() » est émis.

Fonctions d'accès :

QCameraDevice defaultVideoInput()

Signal de notification :

Voir aussi videoInputs().

[read-only] videoInputs : QList<QCameraDevice>

Renvoie la liste des caméras disponibles sur le système.

Fonctions d'accès :

QList<QCameraDevice> videoInputs()

Signal de notification :

void videoInputsChanged()

© 2026 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.