QAudioDevice Class
La classe QAudioDevice fournit des informations sur les périphériques audio et leurs fonctionnalités. Plus d'informations...
| En-tête : | #include <QAudioDevice> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
Types publics
| enum | Mode { Null, Input, Output } |
Propriétés
- description : const QString
- id : const QByteArray
- isDefault : const bool
- mode : const Mode
Fonctions publiques
| QAudioDevice() | |
| QAudioDevice(const QAudioDevice &other) | |
| QAudioDevice(QAudioDevice &&other) | |
| ~QAudioDevice() | |
| QAudioFormat::ChannelConfig | channelConfiguration() const |
| QString | description() const |
| QByteArray | id() const |
| bool | isDefault() const |
| bool | isFormatSupported(const QAudioFormat &settings) const |
| bool | isNull() const |
| int | maximumChannelCount() const |
| int | maximumSampleRate() const |
| int | minimumChannelCount() const |
| int | minimumSampleRate() const |
| QAudioDevice::Mode | mode() const |
| QAudioFormat | preferredFormat() const |
| QList<QAudioFormat::SampleFormat> | supportedSampleFormats() const |
| void | swap(QAudioDevice &other) |
| bool | operator!=(const QAudioDevice &other) const |
| QAudioDevice & | operator=(QAudioDevice &&other) |
| QAudioDevice & | operator=(const QAudioDevice &other) |
| bool | operator==(const QAudioDevice &other) const |
Description détaillée
QAudioDevice décrit un périphérique audio disponible dans le système, soit pour l'entrée, soit pour la lecture.
Un QAudioDevice est utilisé par Qt XML pour construire des classes qui communiquent avec le périphérique - telles que QAudioSource, et QAudioSink. Il est également utilisé pour déterminer le périphérique d'entrée ou de sortie à utiliser dans une session de capture ou pendant la lecture de médias.
L'instance de QAudioDevice conserve ses propriétés tout au long de sa durée de vie, même si le périphérique physique correspondant est déconnecté ou si ses paramètres sont modifiés. Pour garder la trace des propriétés mises à jour, l'utilisateur doit charger de nouvelles instances de QAudioDevice à partir de QMediaDevices lorsque les signaux pertinents sont déclenchés.
Vous pouvez également demander à chaque appareil les formats qu'il prend en charge. Dans ce contexte, un format est un ensemble composé d'un nombre de canaux, d'une fréquence d'échantillonnage et d'un type d'échantillon. Un format est représenté par la classe QAudioFormat.
Les valeurs prises en charge par le périphérique pour chacun de ces paramètres peuvent être récupérées avec minimumChannelCount(), maximumChannelCount(), minimumSampleRate(), maximumSampleRate() et supportedSampleFormats(). Les combinaisons prises en charge dépendent des capacités de l'appareil audio. Si vous avez besoin d'un format spécifique, vous pouvez vérifier si l'appareil le prend en charge avec isFormatSupported(). Par exemple :
{ sourceFile.setFileName("/tmp/test.raw") ; sourceFile.open(QIODevice::ReadOnly) ; QAudioFormat format ; // Configure le format, par exempleformat.setSampleRate(44100) ; format.setChannelCount(1) ; format.setSampleFormat(QAudioFormat::Int16) ; QAudioDevice info(QMediaDevices::defaultAudioOutput()) ; if (!info.isFormatSupported(format)) { qWarning() << "Raw audio format not supported by backend, cannot play audio.";
return; } audio = new QAudioSink(format, this) ; connect(audio, QAudioSink::stateChanged, this, &AudioInputExample::handleStateChanged) ; audio->start(&sourceFile) ; }L'ensemble des appareils disponibles peut être récupéré à partir de la classe QMediaDevices.
Par exemple :
const auto devices = QMediaDevices::audioOutputs() ;for(const QAudioDevice &device: devices) qDebug() << "Device: " << device.description();
Dans cet exemple de code, nous parcourons en boucle tous les appareils capables d'émettre du son, c'est-à-dire de lire un flux audio dans un format pris en charge. Pour chaque périphérique trouvé, nous imprimons simplement le deviceName().
Voir aussi QAudioSink, QAudioSource, et QAudioFormat.
Documentation sur les types de membres
enum QAudioDevice::Mode
Décrit le mode de fonctionnement de cet appareil.
| Constante | Valeur | Description |
|---|---|---|
QAudioDevice::Null | 0 | Un périphérique nul. |
QAudioDevice::Input | 1 | Un périphérique d'entrée. |
QAudioDevice::Output | 2 | Un périphérique de sortie. |
Propriété Documentation
[read-only] description : const QString
Renvoie un nom lisible par l'homme pour le périphérique audio.
Utilisez cette chaîne pour présenter l'appareil à l'utilisateur.
Fonctions d'accès :
| QString | description() const |
[read-only] id : const QByteArray
Renvoie un identifiant pour le périphérique audio.
Les noms des périphériques varient en fonction de la plate-forme/du plugin audio utilisé.
Il s'agit d'un identifiant unique pour le périphérique audio.
Fonctions d'accès :
| QByteArray | id() const |
[read-only] isDefault : const bool
Retourne true s'il s'agit du périphérique audio par défaut.
Fonctions d'accès :
| bool | isDefault() const |
[read-only] mode : const Mode
Indique si ce périphérique est un périphérique d'entrée ou de sortie.
Fonctions d'accès :
| QAudioDevice::Mode | mode() const |
Documentation des fonctions membres
QAudioDevice::QAudioDevice()
Construit un objet QAudioDevice nul.
QAudioDevice::QAudioDevice(const QAudioDevice &other)
Construit une copie de other.
[constexpr noexcept] QAudioDevice::QAudioDevice(QAudioDevice &&other)
Déplacer les constructions de other.
[noexcept] QAudioDevice::~QAudioDevice()
Détruire les informations relatives à ce périphérique audio.
QAudioFormat::ChannelConfig QAudioDevice::channelConfiguration() const
Renvoie la configuration du canal de l'appareil.
bool QAudioDevice::isFormatSupported(const QAudioFormat &settings) const
Retourne true si les settings fournis sont pris en charge par le périphérique audio décrit par ce QAudioDevice.
bool QAudioDevice::isNull() const
Indique si l'objet QAudioDevice contient une définition de périphérique valide.
int QAudioDevice::maximumChannelCount() const
Renvoie le nombre maximum de canaux pris en charge.
Ce nombre est généralement de 1 pour un son mono ou de 2 pour un son stéréo.
int QAudioDevice::maximumSampleRate() const
Renvoie la fréquence d'échantillonnage maximale prise en charge (en Hertz).
int QAudioDevice::minimumChannelCount() const
Renvoie le nombre minimum de canaux pris en charge.
Ce nombre est généralement de 1 pour un son mono ou de 2 pour un son stéréo.
int QAudioDevice::minimumSampleRate() const
Renvoie la fréquence d'échantillonnage minimale prise en charge (en Hertz).
QAudioFormat QAudioDevice::preferredFormat() const
Renvoie les paramètres de format audio par défaut pour ce périphérique.
Ces paramètres sont fournis par la plate-forme/le plugin audio utilisé.
Ils dépendent également du QtAudio::Mode utilisé.
Un système audio typique fournirait quelque chose comme :
- Paramètres d'entrée : 48000Hz mono 16 bit.
- Paramètres de sortie : 48000Hz stéréo 16 bit.
QList<QAudioFormat::SampleFormat> QAudioDevice::supportedSampleFormats() const
Renvoie une liste des types d'échantillons pris en charge.
[noexcept] void QAudioDevice::swap(QAudioDevice &other)
Intervertit le périphérique audio avec le site other.
bool QAudioDevice::operator!=(const QAudioDevice &other) const
Retourne vrai si cette classe QAudioDevice représente un appareil audio différent de celui de other
[noexcept] QAudioDevice &QAudioDevice::operator=(QAudioDevice &&other)
Déplace other dans l'objet QAudioDevice.
QAudioDevice &QAudioDevice::operator=(const QAudioDevice &other)
Définit l'objet QAudioDevice comme étant égal à other.
bool QAudioDevice::operator==(const QAudioDevice &other) const
Retourne vrai si cette classe QAudioDevice représente le même appareil audio que other.
© 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.