QAudioBuffer Class
La classe QAudioBuffer représente une collection d'échantillons audio avec un format et une fréquence d'échantillonnage spécifiques. Plus d'informations...
| 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 un certain QAudioFormat qui peuvent être interrogées à l'aide de format(). Il est également étiqueté avec des informations sur le timing et la durée.
Pour accéder aux données stockées dans la mémoire 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 des types de membres
QAudioBuffer::F32M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono flottant de 32 bits.
QAudioBuffer::F32S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo flottant de 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 court signé.
QAudioBuffer::S32M
Il s'agit d'une spécialisation prédéfinie pour un échantillon mono 32 bits signé.
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 8 bits non signé.
QAudioBuffer::U8S
Il s'agit d'une spécialisation prédéfinie pour un échantillon stéréo 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 du fichier data, dans le format format. Le format déterminera comment le nombre et la taille des échantillons sont interprétés à partir de data.
Si l'adresse data fournie n'est pas un multiple entier de la taille de la 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 quand ce tampon commence dans le flux. Si ce tampon ne fait pas partie d'un flux, il vaut -1.
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
Crée une nouvelle mémoire tampon audio avec de l'espace pour numFrames images du format donné format. Les échantillons individuels seront initialisés à la valeur par défaut du format.
startTime (en microsecondes) indique quand ce tampon commence dans le flux. Si ce tampon ne fait pas partie d'un flux, il vaut -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 detach() sur le tampon pour en faire une copie qui pourra ensuite être modifiée.
[constexpr noexcept] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
Construit un QAudioBuffer en se déplaçant de other.
[noexcept] QAudioBuffer::~QAudioBuffer()
Détruit 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 sur les données de ce tampon. Vous ne pouvez que les lire.
Cette méthode est préférable à la version const de data() pour éviter les copies inutiles.
Notez qu'il n'y a pas de vérification du format du tampon audio - il s'agit simplement d'une fonction de commodité.
template <typename T> T *QAudioBuffer::data()
Renvoie un pointeur sur les données de ce tampon. Vous pouvez modifier les données à l'aide du pointeur retourné.
Comme les objets QAudioBuffer sont explicitement partagés, vous devez généralement appeler detach() avant de modifier les données à l'aide de cette fonction.
Notez qu'il n'y a pas de vérification du format du tampon audio - il s'agit simplement d'une fonction de commodité.
template <typename T> const T *QAudioBuffer::data() const
Renvoie un pointeur sur les données de ce tampon. Vous ne pouvez que les lire.
Vous devriez utiliser la fonction constData() plutôt que cette fonction pour éviter une copie profonde accidentelle.
Notez qu'il n'y a pas de vérification du format du tampon audio - il s'agit simplement d'une fonction de commodité.
void QAudioBuffer::detach()
Détache ce tampon audio des autres copies qui pourraient partager des données avec lui.
[noexcept] qint64 QAudioBuffer::duration() const
Renvoie la durée de l'audio dans ce tampon, en microsecondes.
Cela dépend de format(), et de frameCount().
[noexcept] QAudioFormat QAudioBuffer::format() const
Renvoie l'adresse format de ce tampon.
Plusieurs propriétés de ce format influencent la manière dont duration() ou byteCount() sont calculés à partir de frameCount().
[noexcept] qsizetype QAudioBuffer::frameCount() const
Renvoie le nombre de trames audio complètes dans ce tampon.
Une trame audio est un ensemble entrelacé d'un échantillon par canal pour le même instant.
[noexcept] bool QAudioBuffer::isValid() const
Retourne vrai si c'est un tampon valide. Un tampon valide contient plus de zéro image et un format valide.
[noexcept] qsizetype QAudioBuffer::sampleCount() const
Renvoie le nombre d'échantillons dans ce tampon.
Si le format de cette mémoire tampon comporte plusieurs canaux, ce nombre inclut tous les canaux. Cela signifie qu'un tampon stéréo avec 1000 échantillons au total aura 500 échantillons à gauche et 500 échantillons à droite (entrelacés), et cette fonction renverra 1000.
Voir également frameCount().
[noexcept] qint64 QAudioBuffer::startTime() const
Renvoie l'heure de début de ce tampon dans un flux (en microsecondes).
Si ce tampon ne fait pas partie d'un flux, il renvoie -1.
[noexcept] void QAudioBuffer::swap(QAudioBuffer &other)
Intervertit la mémoire tampon audio avec other.
[noexcept] QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)
Déplace other dans QAudioBuffer.
QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)
Attribue la mémoire 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.