QAudioDevice Class
La classe QAudioDevice fournit des informations sur les périphériques audio et leurs fonctionnalités. En savoir plus...
| 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, destiné soit à l'entrée, soit à la lecture.
Un QAudioDevice est utilisé par Qt pour créer des classes qui communiquent avec le périphérique, telles que QAudioSource et QAudioSink. Il sert également à déterminer le périphérique d'entrée ou de sortie à utiliser lors d'une session d'enregistrement ou pendant la lecture d'un fichier multimédia.
L'instance de `QAudioDevice` conserve ses propriétés tout au long de son cycle de vie, même si le périphérique physique correspondant est déconnecté ou si ses paramètres sont modifiés. Pour suivre l'évolution des propriétés, l'utilisateur doit charger de nouvelles instances de `QAudioDevice` à partir de ` QMediaDevices ` lorsque les signaux correspondants sont déclenchés.
Vous pouvez également interroger chaque périphérique sur 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 à l’aide des méthodes minimumChannelCount(), maximumChannelCount(), minimumSampleRate(), maximumSampleRate() et supportedSampleFormats(). Les combinaisons prises en charge dépendent des capacités du périphérique audio. Si vous avez besoin d’un format spécifique, vous pouvez vérifier si le périphérique le prend en charge à l’aide de la méthode isFormatSupported(). Par exemple :
{
sourceFile.setFileName("/tmp/test.raw");
sourceFile.open(QIODevice::ReadOnly);
QAudioFormat format;
// Configurer le format, par exemple :
format.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);
}La liste des périphériques disponibles peut être récupérée à 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 tous les périphériques capables de produire du son, c'est-à-dire de lire un flux audio dans un format pris en charge. Pour chaque périphérique détecté, nous affichons simplement la valeur de deviceName().
Voir également 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. |
Documentation sur les propriétés
[read-only] description : const QString
Renvoie un nom lisible par l'utilisateur pour le périphérique audio.
Utilisez cette chaîne pour présenter le périphérique à l'utilisateur.
Fonctions d'accès :
| QString | description() const |
[read-only] id : const QByteArray
Renvoie un identifiant correspondant au périphérique audio.
Les noms des périphériques varient en fonction de la plateforme et du plug-in audio utilisés.
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
Renvoie « true » si le périphérique audio en question est le périphérique 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()
Crée un objet QAudioDevice de type null.
QAudioDevice::QAudioDevice(const QAudioDevice &other)
Crée une copie de other.
[constexpr noexcept default] QAudioDevice::QAudioDevice(QAudioDevice &&other)
Constructions de déplacement tirées de other.
[noexcept] QAudioDevice::~QAudioDevice()
Supprimez ces informations relatives à ce périphérique audio.
QAudioFormat::ChannelConfig QAudioDevice::channelConfiguration() const
Renvoie la configuration des canaux de l'appareil.
bool QAudioDevice::isFormatSupported(const QAudioFormat &settings) const
Renvoie « true » si les settings s fournies sont prises en charge par le périphérique audio décrit par cette QAudioDevice.
bool QAudioDevice::isNull() const
Indique si cet objet ` QAudioDevice ` contient une définition de périphérique valide.
int QAudioDevice::maximumChannelCount() const
Renvoie le nombre maximal de canaux pris en charge.
Ce nombre est généralement de 1 pour le son mono, ou de 2 pour le 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 minimal de canaux pris en charge.
Ce nombre est généralement égal à 1 pour le son mono, ou à 2 pour le 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 par défaut du format audio pour ce périphérique.
Ces paramètres sont fournis par la plateforme ou le plugin audio utilisé.
Ils dépendent également du mode utilisé ( QtAudio::Mode).
Un système audio classique fournirait par exemple :
- Paramètres d’entrée : 48 000 Hz, mono, 16 bits.
- Paramètres de sortie : 48 000 Hz, stéréo, 16 bits.
QList<QAudioFormat::SampleFormat> QAudioDevice::supportedSampleFormats() const
Renvoie une liste des types d'échantillons pris en charge.
[noexcept] void QAudioDevice::swap(QAudioDevice &other)
Permet de basculer entre le périphérique audio et l'other.
bool QAudioDevice::operator!=(const QAudioDevice &other) const
Renvoie « true » si cette classe ` QAudioDevice ` représente un périphérique audio différent de other
[noexcept] QAudioDevice &QAudioDevice::operator=(QAudioDevice &&other)
Déplace other vers cet objet QAudioDevice.
QAudioDevice &QAudioDevice::operator=(const QAudioDevice &other)
Définit l'objet ` QAudioDevice ` de manière à ce qu'il soit égal à ` other`.
bool QAudioDevice::operator==(const QAudioDevice &other) const
Renvoie « true » si cette classe ` QAudioDevice ` correspond au même périphérique 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.