Sur cette page

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

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.

ConstanteValeurDescription
QAudioDevice::Null0Un périphérique nul.
QAudioDevice::Input1Un périphérique d'entrée.
QAudioDevice::Output2Un 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.