QAudioFormat Class
La classe QAudioFormat stocke les informations relatives aux paramètres des flux audio. En savoir plus...
| En-tête : | #include <QAudioFormat> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
Types publics
| enum | AudioChannelPosition { UnknownPosition, FrontLeft, FrontRight, FrontCenter, LFE, …, BottomFrontRight } |
| enum | ChannelConfig { ChannelConfigUnknown, ChannelConfigMono, ChannelConfigStereo, ChannelConfig2Dot1, ChannelConfig3Dot0, …, ChannelConfigSurround7Dot1 } |
| enum | SampleFormat { Unknown, UInt8, Int16, Int32, Float } |
Fonctions publiques
| QAudioFormat() | |
| QAudioFormat(const QAudioFormat &other) | |
| ~QAudioFormat() | |
| qint32 | bytesForDuration(qint64 microseconds) const |
| qint32 | bytesForFrames(qint32 frameCount) const |
| int | bytesPerFrame() const |
| int | bytesPerSample() const |
| QAudioFormat::ChannelConfig | channelConfig() const |
| int | channelCount() const |
| int | channelOffset(QAudioFormat::AudioChannelPosition channel) const |
| qint64 | durationForBytes(qint32 bytes) const |
| qint64 | durationForFrames(qint32 frameCount) const |
| qint32 | framesForBytes(qint32 byteCount) const |
| qint32 | framesForDuration(qint64 microseconds) const |
| bool | isValid() const |
| float | normalizedSampleValue(const void *sample) const |
| QAudioFormat::SampleFormat | sampleFormat() const |
| int | sampleRate() const |
| void | setChannelConfig(QAudioFormat::ChannelConfig config) |
| void | setChannelCount(int channels) |
| void | setSampleFormat(QAudioFormat::SampleFormat format) |
| void | setSampleRate(int samplerate) |
Membres publics statiques
| QAudioFormat::ChannelConfig | channelConfig(Args... channels) |
| QAudioFormat::ChannelConfig | defaultChannelConfigForChannelCount(int channelCount) |
Éléments non membres associés
| bool | operator!=(const QAudioFormat &a, const QAudioFormat &b) |
| bool | operator==(const QAudioFormat &a, const QAudioFormat &b) |
Description détaillée
Un format audio spécifie la manière dont les données d'un flux audio brut sont organisées. Par exemple, comment le flux doit être interprété.
QAudioFormat contient des paramètres qui précisent comment les données d'échantillonnage audio sont organisées. Il s'agit de la fréquence, du nombre de canaux et du format d'échantillonnage. Le tableau suivant les décrit plus en détail.
| Paramètre | Description |
|---|---|
| Fréquence d’échantillonnage | Nombre d’échantillons par seconde de données audio, exprimé en hertz. |
| Nombre de canaux | Nombre de canaux audio (généralement un pour le mono ou deux pour la stéréo). Il s'agit du nombre d'échantillons consécutifs qui, ensemble, forment une trame dans le flux |
| Format d'échantillonnage | Format des échantillons audio dans le flux |
Cette classe s'utilise conjointement avec QAudioSource ou QAudioSink pour vous permettre de spécifier les paramètres du flux audio en cours de lecture ou d'écriture, ou avec QAudioBuffer lorsque vous manipulez des échantillons en mémoire.
Vous pouvez obtenir les formats audio compatibles avec le périphérique audio utilisé via les fonctions de QAudioDevice. Cette classe vous permet également de consulter les valeurs de paramètres disponibles pour un périphérique, afin que vous puissiez définir vous-même ces paramètres. Reportez-vous à la description de la classe QAudioDevice pour plus de détails. Vous devez connaître le format des flux audio que vous souhaitez lire ou enregistrer.
Les échantillons de tous les canaux seront entrelacés. Un échantillon par canal pour un même instant est appelé « trame » dans Qt Multimedia (et ailleurs).
Documentation sur les types de membres
enum QAudioFormat::AudioChannelPosition
Décrit les positions possibles des canaux audio. Celles-ci respectent la définition standard utilisée dans la configuration sonore surround 22.2.
| Constante | Valeur | Description |
|---|---|---|
QAudioFormat::UnknownPosition | 0 | Position inconnue |
QAudioFormat::FrontLeft | 1 | |
QAudioFormat::FrontRight | 2 | |
QAudioFormat::FrontCenter | 3 | |
QAudioFormat::LFE | 4 | Canal d'effets basse fréquence (caisson de basses) |
QAudioFormat::BackLeft | 5 | |
QAudioFormat::BackRight | 6 | |
QAudioFormat::FrontLeftOfCenter | 7 | |
QAudioFormat::FrontRightOfCenter | 8 | |
QAudioFormat::BackCenter | 9 | |
QAudioFormat::LFE2 | 19 | |
QAudioFormat::SideLeft | 10 | |
QAudioFormat::SideRight | 11 | |
QAudioFormat::TopFrontLeft | 13 | |
QAudioFormat::TopFrontRight | 15 | |
QAudioFormat::TopFrontCenter | 14 | |
QAudioFormat::TopCenter | 12 | |
QAudioFormat::TopBackLeft | 16 | |
QAudioFormat::TopBackRight | 18 | |
QAudioFormat::TopSideLeft | 20 | |
QAudioFormat::TopSideRight | 21 | |
QAudioFormat::TopBackCenter | 17 | |
QAudioFormat::BottomFrontCenter | 22 | |
QAudioFormat::BottomFrontLeft | 23 | |
QAudioFormat::BottomFrontRight | 24 |
enum QAudioFormat::ChannelConfig
Cette énumération décrit une structure normalisée des canaux audio. Les configurations les plus courantes sont les configurations mono, stéréo, 2.1 (stéréo plus basses fréquences), surround 5.1 et surround 7.1.
| Constante | Valeur | Description |
|---|---|---|
QAudioFormat::ChannelConfigUnknown | 0 | La configuration des canaux n'est pas connue. |
QAudioFormat::ChannelConfigMono | QtPrivate::channelConfig(FrontCenter) | Le son comporte un canal central. |
QAudioFormat::ChannelConfigStereo | QtPrivate::channelConfig(FrontLeft, FrontRight) | Le signal audio comporte deux canaux : gauche et droit. |
QAudioFormat::ChannelConfig2Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) | Le son comporte trois canaux : gauche, droite et LFE (effet basse fréquence). |
QAudioFormat::ChannelConfig3Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter) | Le son comporte trois canaux : gauche, droit et central. |
QAudioFormat::ChannelConfig3Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE) | Le son comporte quatre canaux : gauche, droite, central et LFE (effet basse fréquence). |
QAudioFormat::ChannelConfigSurround5Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight) | Le son comporte cinq canaux : gauche, droite, central, « BackLeft » et « BackRight ». |
QAudioFormat::ChannelConfigSurround5Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight) | Le son comporte 6 canaux : gauche, droite, centre, LFE, BackLeft et BackRight. |
QAudioFormat::ChannelConfigSurround7Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight) | Le son comporte 7 canaux : gauche, droite, centre, BackLeft, BackRight, SideLeft et SideRight. |
QAudioFormat::ChannelConfigSurround7Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight) | Le son comporte 8 canaux : gauche, droite, centre, LFE, BackLeft, BackRight, SideLeft et SideRight. |
enum QAudioFormat::SampleFormat
Qt s'attend toujours à ce que les échantillons respectent l'endianness de la plateforme hôte et les utilise en conséquence. Lorsque vous traitez vous-même des données audio provenant de sources externes, veillez à les convertir à l'endianness appropriée avant de les écrire dans un ` QAudioSink ` ou un ` QAudioBuffer`.
| Constante | Valeur | Description |
|---|---|---|
QAudioFormat::Unknown | 0 | Non défini |
QAudioFormat::UInt8 | 1 | Les échantillons sont des entiers non signés de 8 bits |
QAudioFormat::Int16 | 2 | Les échantillons sont des entiers signés de 16 bits |
QAudioFormat::Int32 | 3 | Les échantillons sont des entiers signés de 32 bits |
QAudioFormat::Float | 4 | Les échantillons sont des nombres à virgule flottante |
Documentation des fonctions membres
[implicit] QAudioFormat::QAudioFormat()
Crée un nouveau format audio.
Les valeurs sont initialisées comme suit :
- sampleRate() = 0
- channelCount() = 0
- sampleFormat() = QAudioFormat::Unknown
[implicit] QAudioFormat::QAudioFormat(const QAudioFormat &other)
Créez un nouveau format audio à l'aide de other.
[noexcept implicit] QAudioFormat::~QAudioFormat()
Supprimez ce format audio.
qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const
Renvoie le nombre d'octets requis pour ce format audio dans le cadre d’ microseconds.
Renvoie 0 si ce format n'est pas valide.
Notez qu'un arrondi peut se produire si microseconds n'est pas une fraction exacte de sampleRate().
Voir également durationForBytes().
qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const
Renvoie le nombre d'octets nécessaires pour les trames d'frameCount s de ce format.
Renvoie 0 si ce format n'est pas valide.
Voir aussi bytesForDuration().
[constexpr] int QAudioFormat::bytesPerFrame() const
Renvoie le nombre d'octets nécessaires pour représenter une trame (un échantillon par canal) dans ce format.
Renvoie 0 si ce format n'est pas valide.
[constexpr noexcept] int QAudioFormat::bytesPerSample() const
Renvoie le nombre d'octets nécessaires pour représenter un échantillon dans ce format.
Renvoie 0 si ce format n'est pas valide.
[constexpr noexcept] QAudioFormat::ChannelConfig QAudioFormat::channelConfig() const
Renvoie la configuration actuelle du canal.
Voir aussi setChannelConfig().
[static constexpr] template <typename... Args> QAudioFormat::ChannelConfig QAudioFormat::channelConfig(Args... channels)
Renvoie la configuration actuelle du canal pour l'channels donné.
[constexpr noexcept] int QAudioFormat::channelCount() const
Renvoie la valeur actuelle du nombre de canaux.
Voir aussi setChannelCount().
[noexcept] int QAudioFormat::channelOffset(QAudioFormat::AudioChannelPosition channel) const
Renvoie la position d'un canal audio donné au sein d'une trame audio pour le format spécifié. Renvoie -1 si l'channel 'existe pas pour ce format ou si sa configuration est inconnue.
[static] QAudioFormat::ChannelConfig QAudioFormat::defaultChannelConfigForChannelCount(int channelCount)
Renvoie une configuration de canaux par défaut pour channelCount.
Les configurations par défaut sont définies pour un maximum de 8 canaux et correspondent aux configurations standard mono, stéréo et surround. Pour un nombre de canaux supérieur, cette méthode utilise simplement les premiers canaux audio d'channelCount définis dans QAudioFormat::AudioChannelPosition.
qint64 QAudioFormat::durationForBytes(qint32 bytes) const
Renvoie le nombre de microsecondes représenté par bytes dans ce format.
Renvoie 0 si ce format n'est pas valide.
Notez qu’un arrondi peut se produire si bytes n’est pas un multiple exact du nombre d’octets par trame.
Voir également bytesForDuration().
qint64 QAudioFormat::durationForFrames(qint32 frameCount) const
Renvoie le nombre de microsecondes correspondant à des trames « frameCount » dans ce format.
qint32 QAudioFormat::framesForBytes(qint32 byteCount) const
Renvoie le nombre de trames représentées par byteCount dans ce format.
Notez qu’un arrondi peut se produire si byteCount n’est pas un multiple exact du nombre d’octets par trame.
Chaque trame comporte un échantillon par canal.
Voir également framesForDuration().
qint32 QAudioFormat::framesForDuration(qint64 microseconds) const
Renvoie le nombre de trames nécessaires pour représenter microseconds dans ce format.
Notez qu'un arrondi peut se produire si microseconds n'est pas une fraction exacte de la valeur renvoyée par la fonction sampleRate().
[constexpr noexcept] bool QAudioFormat::isValid() const
Renvoie « true » si tous les paramètres sont valides.
float QAudioFormat::normalizedSampleValue(const void *sample) const
Normalise la valeur de l’ sample e en un nombre compris entre -1 et 1. La méthode utilisée dépend du format QaudioFormat.
[constexpr noexcept] QAudioFormat::SampleFormat QAudioFormat::sampleFormat() const
Renvoie le format d'échantillon actuel.
Voir aussi la fonction ` setSampleFormat()`.
[constexpr noexcept] int QAudioFormat::sampleRate() const
Renvoie la fréquence d'échantillonnage actuelle en hertz.
Voir aussi setSampleRate().
[noexcept] void QAudioFormat::setChannelConfig(QAudioFormat::ChannelConfig config)
Définit la configuration des canaux sur « config ».
Définit la configuration des canaux du format audio sur l’une des configurations de canaux audio standard.
Remarque : cela modifie également le nombre de canaux.
Voir également channelConfig().
[constexpr noexcept] void QAudioFormat::setChannelCount(int channels)
Définit le nombre de canaux sur channels. Ce paramètre définit également la configuration des canaux sur ChannelConfigUnknown.
Voir également channelCount().
[constexpr noexcept] void QAudioFormat::setSampleFormat(QAudioFormat::SampleFormat format)
Définit le format d'échantillonnage sur « format ».
Voir également sampleFormat() et QAudioFormat::SampleFormat.
[constexpr noexcept] void QAudioFormat::setSampleRate(int samplerate)
Définit la fréquence d'échantillonnage à samplerate en hertz.
Voir aussi sampleRate().
Fonctions associées pour les non-membres
bool operator!=(const QAudioFormat &a, const QAudioFormat &b)
Renvoie « true » si le format audio « a » n'est pas égal à « b », sinon renvoie « false ».
bool operator==(const QAudioFormat &a, const QAudioFormat &b)
Renvoie « true » si le format audio « a » est égal à « b », sinon renvoie « false ».
© 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.