QAudioBuffer Class
La classe QAudioBuffer représente un ensemble d'échantillons audio d'un format et d'une fréquence d'échantillonnage spécifiques. En savoir plus...
| En-tête : | #include <QAudioBuffer> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
Types publics
Fonctions publiques
| QAudioBuffer() | |
| QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1) | |
| QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1) | |
| QAudioBuffer(const QAudioBuffer &other) | |
| QAudioBuffer(QAudioBuffer &&other) | |
| ~QAudioBuffer() | |
| qsizetype | byteCount() const |
| const T * | constData() const |
| T * | data() |
| const T * | data() const |
| void | detach() |
| qint64 | duration() const |
| QAudioFormat | format() const |
| qsizetype | frameCount() const |
| bool | isValid() const |
| qsizetype | sampleCount() const |
| qint64 | startTime() const |
| void | swap(QAudioBuffer &other) |
| QAudioBuffer & | operator=(QAudioBuffer &&other) |
| QAudioBuffer & | operator=(const QAudioBuffer &other) |
Description détaillée
QAudioBuffer est utilisé par la classe QAudioDecoder pour transmettre les données audio décodées à l'application. Un tampon audio contient des données dans une certaine for QAudioFormat, qui peut être interrogée à l'aide de la méthode format(). Il est également associé à des informations de synchronisation et de durée.
Pour accéder aux données stockées dans le tampon, utilisez les méthodes data() ou constData().
Les tampons audio sont explicitement partagés ; dans la plupart des cas, vous devez appeler detach() avant de modifier les données.
Documentation sur les types de membres
QAudioBuffer::F32M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono en format flottant 32 bits.
QAudioBuffer::F32S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo en format flottant 32 bits.
QAudioBuffer::S16M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono signé de 16 bits. i
QAudioBuffer::S16S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo signé de 16 bits. Chaque canal est un entier court signé.
QAudioBuffer::S32M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono signé de 32 bits.
QAudioBuffer::S32S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo signé de 32 bits.
QAudioBuffer::U8M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono de 8 bits sans signe.
QAudioBuffer::U8S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo de 8 bits non signé.
Documentation des fonctions membres
[noexcept] QAudioBuffer::QAudioBuffer()
Créer un nouveau tampon vide et non valide.
QAudioBuffer::QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1)
Crée un nouveau tampon audio à partir de l'data fournie, dans l'format spécifiée. Le format déterminera la manière dont le nombre et la taille des échantillons sont interprétés à partir de l'data.
Si le nombre d'échantillons fourni ( data ) n'est pas un multiple entier de la taille de trame calculée, les données excédentaires ne seront pas utilisées.
Ce tampon audio copiera le contenu de data.
startTime (en microsecondes) indique à quel moment ce tampon commence dans le flux. Si ce tampon ne fait pas partie d’un flux, définissez-le sur -1.
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
Crée un nouveau tampon audio pouvant contenir numFrames trames du format format spécifié. Les échantillons individuels seront initialisés aux valeurs par défaut du format.
startTime (en microsecondes) indique à quel moment ce tampon commence dans le flux. Si ce tampon ne fait pas partie d’un flux, définissez-le sur -1.
[noexcept] QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)
Crée un nouveau tampon audio à partir de ` other`. Les tampons audio sont explicitement partagés ; vous devez appeler la fonction ` detach()` sur le tampon pour en créer une copie qui pourra ensuite être modifiée.
[constexpr noexcept default] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
Crée un objet `QAudioBuffer` à partir de ` other`.
[noexcept] QAudioBuffer::~QAudioBuffer()
Supprime ce tampon audio.
[noexcept] qsizetype QAudioBuffer::byteCount() const
Renvoie la taille de ce tampon, en octets.
template <typename T> const T *QAudioBuffer::constData() const
Renvoie un pointeur vers les données de ce tampon. Ce pointeur est en lecture seule.
Cette méthode est préférable à la version const de data() afin d’éviter toute copie inutile.
Notez qu'aucune vérification n'est effectuée sur le format du tampon audio : il s'agit simplement d'une fonction de commodité.
template <typename T> T *QAudioBuffer::data()
Renvoie un pointeur vers les données de ce tampon. Vous pouvez modifier ces données via le pointeur renvoyé.
Les objets de type ` QAudioBuffer ` étant explicitement partagés, il est généralement recommandé d'appeler ` detach()` avant de modifier les données via cette fonction.
Notez qu’aucune vérification n’est effectuée sur le format du tampon audio : il s’agit simplement d’une fonction de commodité.
template <typename T> const T *QAudioBuffer::data() const
Renvoie un pointeur vers les données de ce tampon. Vous ne pouvez que les lire.
Il est recommandé d'utiliser la fonction ` constData()` plutôt que celle-ci afin d'éviter toute copie profonde accidentelle.
Notez qu'aucune vérification n'est effectuée sur le format du tampon audio : il s'agit simplement d'une fonction de commodité.
void QAudioBuffer::detach()
Détache ce tampon audio des autres copies susceptibles de partager des données avec lui.
[noexcept] qint64 QAudioBuffer::duration() const
Renvoie la durée du contenu audio de ce tampon, en microsecondes.
Cela dépend des fonctions ` format()` et ` frameCount()`.
[noexcept] QAudioFormat QAudioBuffer::format() const
Renvoie l'format de ce tampon.
Plusieurs propriétés de ce format influencent la manière dont les fonctions ` duration()` ou ` byteCount()` sont calculées à partir de la fonction ` frameCount()`.
[noexcept] qsizetype QAudioBuffer::frameCount() const
Renvoie le nombre de trames audio complètes contenues dans ce tampon.
Une trame audio est un ensemble entrelacé d'un échantillon par canal correspondant à un même instant.
[noexcept] bool QAudioBuffer::isValid() const
Renvoie « true » si le tampon est valide. Un tampon valide contient plus d'une trame et est au format valide.
[noexcept] qsizetype QAudioBuffer::sampleCount() const
Renvoie le nombre d'échantillons contenus dans ce tampon.
Si le format de ce tampon comporte plusieurs canaux, ce nombre inclut tous les canaux. Cela signifie qu'un tampon stéréo contenant 1 000 échantillons au total comportera 500 échantillons de gauche et 500 échantillons de droite (entrelacés), et que cette fonction renverra 1 000.
Voir également frameCount().
[noexcept] qint64 QAudioBuffer::startTime() const
Renvoie l'instant dans un flux à partir duquel ce tampon commence (en microsecondes).
Si ce tampon ne fait pas partie d'un flux, cette fonction renvoie -1.
[noexcept] void QAudioBuffer::swap(QAudioBuffer &other)
Permute le tampon audio avec other.
[noexcept] QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)
Déplace « other » vers « QAudioBuffer ».
QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)
Attribue le tampon « other » à cet élément.
© 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.