QAudioBuffer Class
Die Klasse „QAudioBuffer“ stellt eine Sammlung von Audio-Samples mit einem bestimmten Format und einer bestimmten Abtastrate dar. Mehr...
| Header: | #include <QAudioBuffer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
Öffentliche Typen
Öffentliche Funktionen
| 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) |
Ausführliche Beschreibung
QAudioBuffer wird von der Klasse „ QAudioDecoder “ verwendet, um decodierte Audiodaten an die Anwendung weiterzugeben. Ein Audio-Puffer enthält Daten in einem bestimmten „ QAudioFormat “, der mit der Funktion „ format()“ abgefragt werden kann. Er ist außerdem mit Zeit- und Dauerinformationen versehen.
Um auf die im Puffer gespeicherten Daten zuzugreifen, verwenden Sie die Methoden „ data()“ oder „ constData()“.
Audio-Puffer werden explizit gemeinsam genutzt; in den meisten Fällen sollten Sie „ detach()“ aufrufen, bevor Sie die Daten ändern.
Dokumentation zu Mitgliedstypen
QAudioBuffer::F32M
Dies ist eine vordefinierte Spezialisierung für ein 32-Bit-Float-Mono-Sample.
QAudioBuffer::F32S
Dies ist eine vordefinierte Spezialisierung für ein 32-Bit-Float-Stereo-Sample.
QAudioBuffer::S16M
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 16-Bit-Mono-Sample. i
QAudioBuffer::S16S
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 16-Bit-Stereo-Sample. Jeder Kanal ist ein vorzeichenbehafteter Short-Typ.
QAudioBuffer::S32M
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 32-Bit-Mono-Sample.
QAudioBuffer::S32S
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 32-Bit-Stereo-Sample.
QAudioBuffer::U8M
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenloses 8-Bit-Mono-Sample.
QAudioBuffer::U8S
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenloses 8-Bit-Stereo-Sample.
Dokumentation der Member-Funktionen
[noexcept] QAudioBuffer::QAudioBuffer()
Erstelle einen neuen, leeren, ungültigen Puffer.
QAudioBuffer::QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1)
Erstellt einen neuen Audio-Puffer aus dem übergebenen ` data` im angegebenen ` format`. Das Format bestimmt, wie die Anzahl und die Größe der Samples aus dem ` data` interpretiert werden.
Wenn die übergebene ` data ` kein ganzzahliges Vielfaches der berechneten Frame-Größe ist, werden die überschüssigen Daten nicht verwendet.
Dieser Audio-Puffer kopiert den Inhalt von data.
startTime (in Mikrosekunden) gibt an, an welcher Stelle im Stream dieser Puffer beginnt. Wenn dieser Puffer nicht Teil eines Streams ist, setzen Sie den Wert auf -1.
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
Erstellt einen neuen Audiopuffer mit Platz für numFrames Frames des angegebenen Formats format. Die einzelnen Samples werden auf den Standardwert für das Format initialisiert.
startTime (in Mikrosekunden) gibt an, an welcher Stelle im Stream dieser Puffer beginnt. Wenn dieser Puffer nicht Teil eines Streams ist, setzen Sie diesen Wert auf -1.
[noexcept] QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)
Erstellt einen neuen Audio-Puffer aus ` other`. Audio-Puffer werden explizit gemeinsam genutzt. Sie sollten die Funktion ` detach()` für den Puffer aufrufen, um eine Kopie zu erstellen, die anschließend geändert werden kann.
[constexpr noexcept default] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
Erstellt einen QAudioBuffer, indem Daten aus „ other “ verschoben werden.
[noexcept] QAudioBuffer::~QAudioBuffer()
Löscht diesen Audio-Puffer.
[noexcept] qsizetype QAudioBuffer::byteCount() const
Gibt die Größe dieses Puffers in Byte zurück.
template <typename T> const T *QAudioBuffer::constData() const
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Der Zugriff ist nur lesbar.
Diese Methode ist der const-Version von ` data()` vorzuziehen, um unnötiges Kopieren zu vermeiden.
Beachten Sie, dass das Format des Audio-Puffers nicht überprüft wird – es handelt sich hierbei lediglich um eine Komfortfunktion.
template <typename T> T *QAudioBuffer::data()
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Über den zurückgegebenen Zeiger können Sie die Daten ändern.
Da „ QAudioBuffer “-Objekte explizit gemeinsam genutzt werden, sollten Sie in der Regel „ detach()“ aufrufen, bevor Sie die Daten über diese Funktion ändern.
Beachten Sie, dass das Format des Audio-Puffers nicht überprüft wird – es handelt sich hierbei lediglich um eine Komfortfunktion.
template <typename T> const T *QAudioBuffer::data() const
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Diese können nur gelesen werden.
Sie sollten stattdessen die Funktion ` constData()` verwenden, um ein versehentliches tiefes Kopieren zu vermeiden.
Beachten Sie, dass das Format des Audio-Puffers nicht überprüft wird – es handelt sich hierbei lediglich um eine Komfortfunktion.
void QAudioBuffer::detach()
Trennt diesen Audiopuffer von anderen Kopien, die möglicherweise Daten mit ihm austauschen.
[noexcept] qint64 QAudioBuffer::duration() const
Gibt die Dauer der Audiodaten in diesem Puffer in Mikrosekunden zurück.
Dies hängt von den Funktionen ` format()` und ` frameCount()` ab.
[noexcept] QAudioFormat QAudioBuffer::format() const
Gibt den Wert „ format “ dieses Puffers zurück.
Mehrere Eigenschaften dieses Formats beeinflussen, wie die Werte „ duration()“ oder „ byteCount()“ aus „ frameCount()“ berechnet werden.
[noexcept] qsizetype QAudioBuffer::frameCount() const
Gibt die Anzahl der vollständigen Audio-Frames in diesem Puffer zurück.
Ein Audio-Frame ist eine verschachtelte Folge von jeweils einem Sample pro Kanal für denselben Zeitpunkt.
[noexcept] bool QAudioBuffer::isValid() const
Gibt „true“ zurück, wenn es sich um einen gültigen Puffer handelt. Ein gültiger Puffer enthält mehr als null Frames und hat ein gültiges Format.
[noexcept] qsizetype QAudioBuffer::sampleCount() const
Gibt die Anzahl der Samples in diesem Puffer zurück.
Wenn das Format dieses Puffers mehrere Kanäle umfasst, umfasst diese Anzahl alle Kanäle. Das bedeutet, dass ein Stereopuffer mit insgesamt 1000 Samples 500 linke und 500 rechte Samples (verschachtelt) enthält und diese Funktion den Wert 1000 zurückgibt.
Siehe auch „ frameCount“ ().
[noexcept] qint64 QAudioBuffer::startTime() const
Gibt den Zeitpunkt in einem Stream zurück, an dem dieser Puffer beginnt (in Mikrosekunden).
Wenn dieser Puffer nicht Teil eines Streams ist, wird -1 zurückgegeben.
[noexcept] void QAudioBuffer::swap(QAudioBuffer &other)
Tauscht den Audio-Puffer mit „ other “ aus.
[noexcept] QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)
Verschiebt „ other “ in diesen Ordner: QAudioBuffer.
QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)
Weist diesem den Puffer „ other “ zu.
© 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.