QAudioBuffer Class
La clase QAudioBuffer representa una colección de muestras de audio con un formato y frecuencia de muestreo específicos. Más...
| Cabecera: | #include <QAudioBuffer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
Tipos Públicos
Funciones Públicas
| 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) |
Descripción detallada
QAudioBuffer es utilizado por la clase QAudioDecoder para entregar los datos de audio decodificados a la aplicación. Un buffer de audio contiene datos en un determinado QAudioFormat que pueden ser consultados utilizando format(). También está etiquetado con información de temporización y duración.
Para acceder a los datos almacenados dentro del búfer, utiliza los métodos data() o constData().
Los búferes de audio son explícitamente compartidos, en la mayoría de los casos, debe llamar a detach() antes de modificar los datos.
Documentación de los tipos de miembros
QAudioBuffer::F32M
Se trata de una especialización predefinida para una muestra mono flotante de 32 bits.
QAudioBuffer::F32S
Se trata de una especialización predefinida para una muestra estéreo flotante de 32 bits.
QAudioBuffer::S16M
Se trata de una especialización predefinida para una muestra mono de 16 bits con signo. i
QAudioBuffer::S16S
Se trata de una especialización predefinida para una muestra estéreo de 16 bits con signo. Cada canal es un corto con signo.
QAudioBuffer::S32M
Se trata de una especialización predefinida para una muestra mono de 32 bits con signo.
QAudioBuffer::S32S
Se trata de una especialización predefinida para una muestra estéreo de 32 bits con signo.
QAudioBuffer::U8M
Se trata de una especialización predefinida para una muestra mono de 8 bits sin signo.
QAudioBuffer::U8S
Se trata de una especialización predifinida para una muestra estéreo de 8 bits sin signo.
Documentación de la función miembro
[noexcept] QAudioBuffer::QAudioBuffer()
Crea un nuevo búfer vacío no válido.
QAudioBuffer::QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1)
Crea un nuevo búfer de audio a partir del data suministrado , en el format dado. El formato determinará cómo se interpretan el número y el tamaño de las muestras desde data.
Si el data suministrado no es un múltiplo entero del tamaño de fotograma calculado, no se utilizarán los datos sobrantes.
Este búfer de audio copiará el contenido de data.
startTime (en microsegundos) indica cuándo comienza este búfer en el flujo. Si este búfer no forma parte de un flujo, ajústalo a -1.
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
Crea un nuevo búfer de audio con espacio para numFrames fotogramas del formato format. Las muestras individuales se inicializarán al valor predeterminado para el formato.
startTime (en microsegundos) indica cuándo comienza este búfer en el flujo. Si este búfer no forma parte de un flujo, establézcalo en -1.
[noexcept] QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)
Crea un nuevo búfer de audio a partir de other. Los búferes de audio se comparten explícitamente, debes llamar a detach() en el búfer para hacer una copia que luego puede ser modificada.
[constexpr noexcept] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
Construye un QAudioBuffer pasando de other.
[noexcept] QAudioBuffer::~QAudioBuffer()
Destruye este búfer de audio.
[noexcept] qsizetype QAudioBuffer::byteCount() const
Devuelve el tamaño de este búfer, en bytes.
template <typename T> const T *QAudioBuffer::constData() const
Devuelve un puntero a los datos de este búfer. Sólo se puede leer.
Este método es preferible a la versión const de data() para evitar copias innecesarias.
Ten en cuenta que no se comprueba el formato del búfer de audio - se trata simplemente de una función de conveniencia.
template <typename T> T *QAudioBuffer::data()
Devuelve un puntero a los datos de este búfer. Puede modificar los datos a través del puntero devuelto.
Dado que los objetos QAudioBuffer son explícitamente compartidos, normalmente deberías llamar a detach() antes de modificar los datos a través de esta función.
Tenga en cuenta que no se comprueba el formato del búfer de audio - se trata simplemente de una función de conveniencia.
template <typename T> const T *QAudioBuffer::data() const
Devuelve un puntero a los datos de este búfer. Sólo se puede leer.
Deberías usar la función constData() en lugar de esta para prevenir copias profundas accidentales.
Tenga en cuenta que no se comprueba el formato del búfer de audio - se trata simplemente de una función de conveniencia.
void QAudioBuffer::detach()
Desvincula este búfer de audio de otras copias que puedan compartir datos con él.
[noexcept] qint64 QAudioBuffer::duration() const
Devuelve la duración del audio en este buffer, en microsegundos.
Depende de format(), y de frameCount().
[noexcept] QAudioFormat QAudioBuffer::format() const
Devuelve el format de este búfer.
Varias propiedades de este formato influyen en cómo se calcula duration() o byteCount() a partir de frameCount().
[noexcept] qsizetype QAudioBuffer::frameCount() const
Devuelve el número de fotogramas de audio completos en este búfer.
Un fotograma de audio es un conjunto intercalado de una muestra por canal para el mismo instante de tiempo.
[noexcept] bool QAudioBuffer::isValid() const
Devuelve true si se trata de un búfer válido. Un búfer válido tiene más de cero fotogramas y un formato válido.
[noexcept] qsizetype QAudioBuffer::sampleCount() const
Devuelve el número de muestras en este búfer.
Si el formato de este buffer tiene múltiples canales, entonces este conteo incluye todos los canales. Esto significa que un buffer estéreo con 1000 muestras en total tendrá 500 muestras izquierdas y 500 muestras derechas (intercaladas), y esta función devolverá 1000.
Véase también frameCount().
[noexcept] qint64 QAudioBuffer::startTime() const
Devuelve el tiempo en un flujo en el que comienza este búfer (en microsegundos).
Si este búfer no forma parte de un flujo, devolverá -1.
[noexcept] void QAudioBuffer::swap(QAudioBuffer &other)
Intercambia el búfer de audio con other.
[noexcept] QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)
Mueve other en este QAudioBuffer.
QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)
Asigna el búfer other a esto.
© 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.