QAudioFormat Class
La classe QAudioFormat stocke les informations relatives aux paramètres du flux audio. Plus d'informations...
| 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) |
Non-membres apparenté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 spécifient la manière dont les données de l'échantillon 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 | Échantillons par seconde de données audio en Hertz. |
| Nombre de canaux | Le nombre de canaux audio (généralement un pour le mono ou deux pour le stéréo). Il s'agit de la quantité d'échantillons consécutifs qui, ensemble, forment une trame dans le flux. |
| Format des échantillons | Le format des échantillons audio dans le flux |
Cette classe est utilisée 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 lorsqu'il s'agit d'échantillons en mémoire.
Vous pouvez obtenir des formats audio compatibles avec le périphérique audio utilisé grâce aux fonctions de QAudioDevice. Cette classe vous permet également d'interroger les valeurs de paramètres disponibles pour un périphérique, afin que vous puissiez définir les paramètres vous-même. Voir 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 pour chaque canal au même instant est appelé "trame" sur le site Qt Multimedia (et ailleurs).
Documentation sur les types de membres
enum QAudioFormat::AudioChannelPosition
Décrit les positions possibles des canaux audio. Ces positions sont conformes à la définition standard utilisée dans la configuration du son surround 22.2.
| Constante | Valeur | Description de la position |
|---|---|---|
QAudioFormat::UnknownPosition | 0 | Position inconnue |
QAudioFormat::FrontLeft | 1 | |
QAudioFormat::FrontRight | 2 | |
QAudioFormat::FrontCenter | 3 | |
QAudioFormat::LFE | 4 | Canal d'effet basse fréquence (Subwoofer) |
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 disposition normalisée des canaux audio. Les configurations les plus courantes sont Mono, Stereo, 2.1 (stéréo plus basse fréquence), 5.1 surround et 7.1 surround.
| Constante | Valeur | Description |
|---|---|---|
QAudioFormat::ChannelConfigUnknown | 0 | La configuration des canaux n'est pas connue. |
QAudioFormat::ChannelConfigMono | QtPrivate::channelConfig(FrontCenter) | L'audio a un canal central. |
QAudioFormat::ChannelConfigStereo | QtPrivate::channelConfig(FrontLeft, FrontRight) | L'audio possède deux canaux, gauche et droit. |
QAudioFormat::ChannelConfig2Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) | L'audio possède trois canaux, gauche, droit et LFE (effet de basse fréquence). |
QAudioFormat::ChannelConfig3Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter) | L'audio possède trois canaux, Gauche, Droit et Centre. |
QAudioFormat::ChannelConfig3Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE) | L'audio a quatre canaux, Gauche, Droite, Centre et LFE (effet de basse fréquence). |
QAudioFormat::ChannelConfigSurround5Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight) | L'audio possède cinq canaux, Gauche, Droite, Centre, BackLeft, et BackRight. |
QAudioFormat::ChannelConfigSurround5Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight) | L'audio a 6 canaux, Gauche, Droite, Centre, LFE, BackLeft, et BackRight. |
QAudioFormat::ChannelConfigSurround7Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight) | L'audio a 7 canaux, Gauche, Droite, Centre, BackLeft, BackRight, SideLeft, et SideRight. |
QAudioFormat::ChannelConfigSurround7Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight) | L'audio a 8 canaux, Gauche, Droite, Centre, LFE, BackLeft, BackRight, SideLeft, et SideRight. |
enum QAudioFormat::SampleFormat
Qt s'attendra toujours à utiliser des échantillons dans l'endianness de la plate-forme hôte. Lorsque vous traitez vous-même des données audio provenant de sources externes, assurez-vous de les convertir dans l'endianness correct avant de les écrire sur QAudioSink ou QAudioBuffer.
| Constante | Valeur | Description de la constante |
|---|---|---|
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 flottants |
Documentation des fonctions membres
[default] QAudioFormat::QAudioFormat()
Construit un nouveau format audio.
Les valeurs sont initialisées comme suit :
- sampleRate() = 0
- channelCount() = 0
- sampleFormat() = QAudioFormat::Unknown
[default] QAudioFormat::QAudioFormat(const QAudioFormat &other)
Construire un nouveau format audio à l'aide de other.
[noexcept default] QAudioFormat::~QAudioFormat()
Détruire ce format audio.
qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const
Renvoie le nombre d'octets requis pour ce format audio pour microseconds.
Retourne 0 si ce format n'est pas valide.
Notez que certains arrondis peuvent se produire si microseconds n'est pas une fraction exacte de sampleRate().
Voir aussi durationForBytes().
qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const
Renvoie le nombre d'octets requis pour les trames frameCount 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 dans chaque 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'adresse channels.
[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 certain canal audio channel à l'intérieur d'une trame audio pour le format donné. Retourne -1 si le canal n'existe pas pour ce format ou si la configuration du canal 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, Stereo et Surround. Pour un nombre de canaux plus élevé, cette configuration utilise simplement les premiers canaux audio channelCount définis dans QAudioFormat::AudioChannelPosition.
qint64 QAudioFormat::durationForBytes(qint32 bytes) const
Renvoie le nombre de microsecondes représenté par bytes dans ce format.
Retourne 0 si ce format n'est pas valide.
Notez que certains arrondis peuvent se produire si bytes n'est pas un multiple exact du nombre d'octets par trame.
Voir aussi bytesForDuration().
qint64 QAudioFormat::durationForFrames(qint32 frameCount) const
Renvoie le nombre de microsecondes représentées par les 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 que certains arrondis peuvent se produire si byteCount n'est pas un multiple exact du nombre d'octets par trame.
Chaque trame contient un échantillon par canal.
Voir aussi framesForDuration().
qint32 QAudioFormat::framesForDuration(qint64 microseconds) const
Renvoie le nombre d'images nécessaires pour représenter microseconds dans ce format.
Notez que certains arrondis peuvent se produire si microseconds n'est pas une fraction exacte de 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 sample en un nombre compris entre -1 et 1. La méthode dépend du QaudioFormat.
[constexpr noexcept] QAudioFormat::SampleFormat QAudioFormat::sampleFormat() const
Renvoie le format actuel de l'échantillon.
Voir aussi 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 du canal du format audio à l'une des configurations de canal audio standard.
Remarque : cette opération modifie également le nombre de canaux.
Voir également channelConfig().
[constexpr noexcept] void QAudioFormat::setChannelCount(int channels)
Fixe le nombre de canaux à channels et la configuration des canaux à ChannelConfigUnknown.
Voir aussi channelCount().
[constexpr noexcept] void QAudioFormat::setSampleFormat(QAudioFormat::SampleFormat format)
Définit le format de l'échantillon à format.
Voir aussi sampleFormat() et QAudioFormat::SampleFormat.
[constexpr noexcept] void QAudioFormat::setSampleRate(int samplerate)
Définit la fréquence d'échantillonnage à samplerate en Hertz.
Voir également sampleRate().
Non-membres apparentés
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.