QMediaDevices Class
La classe QMediaDevices fournit des informations sur les périphériques d'entrée et de sortie multimédia disponibles. Plus d'informations...
| 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éritages : | QObject |
Propriétés
|
|
Signaux
| void | audioInputsChanged() |
| void | audioOutputsChanged() |
| void | videoInputsChanged() |
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 valeurs par défaut du système. Elle surveille les trois groupes suivants :
- Dispositifs 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. S'il 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é du système, il mettra à jour la liste de périphériques correspondante et émettra un signal notifiant le changement.
Les fonctions QMediaDevices::audioInputs et QMediaDevices::audioOutputs peuvent être utilisées pour énumérer tous les microphones et haut-parleurs/casques du système. Cet exemple commence par obtenir une liste de tous les microphones connectés, puis affiche leur identifiant, leur description et indique s'il s'agit du périphérique par défaut ou non.
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, le site QMediaDevices::videoInputs renvoie une liste de toutes les caméras connectées. Dans cet exemple, nous listons toutes les caméras connectées, leur identifiant, leur description et nous indiquons s'il s'agit de la caméra par défaut ou non.
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 notifie tout changement effectué dans les paramètres du système. Par exemple, si l'utilisateur sélectionne une nouvelle sortie audio par défaut dans les paramètres du 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 en tant que 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 lire ou enregistrer des données multimédias, il est souvent nécessaire de sélectionner explicitement le périphérique à utiliser.
QMediaDevices est un objet singleton et toutes les fonctions d'acquisition sont sûres pour les threads.
Remarque : sur la plate-forme WebAssembly, en raison de sa nature asynchrone, la liste des périphériques ne sera disponible qu'après les notifications audioInputsChanged, audioOutputsChanded ou videoInputsChanged.
Documentation sur les 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. Les périphériques peuvent être soit intégrés, soit 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. Les périphériques peuvent être intégrés ou connectés via USB ou Bluetooth, par exemple.
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 au cours de l'exécution de l'application. Le signal audioInputsChanged() est émis dans ce cas.
Fonctions d'accès :
| QAudioDevice | defaultAudioInput() |
Signal Notifier :
| void | audioInputsChanged() |
[read-only] defaultAudioOutput : QAudioDevice
Renvoie le périphérique de sortie audio par défaut.
Le périphérique par défaut peut changer au cours de l'exécution de l'application. Le signal audioOutputsChanged() est émis dans ce cas.
Fonctions d'accès :
| QAudioDevice | defaultAudioOutput() |
Signal Notifier :
| void | audioOutputsChanged() |
[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 pas de caméras du tout.
L'appareil par défaut peut changer au cours de l'exécution de l'application. Le signal videoInputsChanged() est émis dans ce cas.
Fonctions d'accès :
| QCameraDevice | defaultVideoInput() |
Signal Notifier :
| void | videoInputsChanged() |
Voir aussi videoInputs().
[read-only] videoInputs : QList<QCameraDevice>
Renvoie une 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.