QAudioBuffer Class
Die Klasse QAudioBuffer repräsentiert eine Sammlung von Audio-Samples mit einem bestimmten Format und einer bestimmten Sample-Rate. Mehr...
Kopfzeile: | #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) |
Detaillierte Beschreibung
QAudioBuffer wird von der Klasse QAudioDecoder verwendet, um dekodierte Audiodaten an die Anwendung zu übergeben. Ein Audiopuffer enthält Daten in einer bestimmten QAudioFormat, die mit format() abgefragt werden können. Er ist außerdem mit Timing- und Dauerinformationen versehen.
Um auf die im Puffer gespeicherten Daten zuzugreifen, verwenden Sie die Methoden data() oder constData().
Audiopuffer werden explizit gemeinsam genutzt, in den meisten Fällen sollten Sie detach() aufrufen, bevor Sie die Daten ändern.
Dokumentation der 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-Stereosample.
QAudioBuffer::S16M
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 16-Bit-Monosample. i
QAudioBuffer::S16S
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 16-Bit-Stereosample. Jeder Kanal ist ein vorzeichenbehafteter Kurzschluss.
QAudioBuffer::S32M
Dies ist eine vordefinierte Spezialisierung für ein vorzeichenbehaftetes 32-Bit-Monosample.
QAudioBuffer::S32S
Dies ist eine vordefinierte Spezialisierung für ein siged 32-Bit-Stereosample.
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 nicht signiertes 8-Bit-Stereosample.
Dokumentation der Mitgliedsfunktionen
[noexcept]
QAudioBuffer::QAudioBuffer()
Erstellen Sie einen neuen, leeren, ungültigen Puffer.
QAudioBuffer::QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1)
Erzeugt einen neuen Audiopuffer aus dem übergebenen data, im angegebenen format. Das Format bestimmt, wie die Anzahl und Größe der Samples aus data interpretiert werden.
Wenn die angegebene data kein ganzzahliges Vielfaches der berechneten Framegröße ist, werden die überschüssigen Daten nicht verwendet.
Dieser Audiopuffer kopiert den Inhalt von data.
startTime (in Mikrosekunden) gibt an, wann dieser Puffer im Stream beginnt. Wenn dieser Puffer nicht Teil eines Streams ist, setzen Sie ihn auf -1.
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
Erzeugt einen neuen Audiopuffer mit Platz für numFrames Frames des angegebenen format. Die einzelnen Samples werden mit den Standardwerten für das Format initialisiert.
startTime (in Mikrosekunden) gibt an, wann dieser Puffer im Stream beginnt. Wenn dieser Puffer nicht Teil eines Streams ist, setzen Sie ihn auf -1.
[noexcept]
QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)
Erzeugt einen neuen Audiopuffer aus other. Audiopuffer werden explizit gemeinsam genutzt, Sie sollten detach() für den Puffer aufrufen, um eine Kopie zu erstellen, die dann geändert werden kann.
[noexcept]
QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
Konstruiert einen QAudioBuffer durch Verschieben von other.
[noexcept]
QAudioBuffer::~QAudioBuffer()
Zerstört diesen Audiopuffer.
[noexcept]
qsizetype QAudioBuffer::byteCount() const
Gibt die Größe dieses Puffers in Bytes zurück.
template <typename T> const T *QAudioBuffer::constData() const
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Sie können ihn nur lesen.
Diese Methode ist der const-Version von data() vorzuziehen, um unnötiges Kopieren zu vermeiden.
Beachten Sie, dass das Format des Audiopuffers nicht überprüft wird - dies ist lediglich eine Komfortfunktion.
template <typename T> T *QAudioBuffer::data()
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Sie können die Daten über den zurückgegebenen Zeiger ändern.
Da QAudioBuffer -Objekte explizit gemeinsam genutzt werden, sollten Sie normalerweise detach() aufrufen, bevor Sie die Daten über diese Funktion ändern.
Beachten Sie, dass das Format des Audiopuffers nicht überprüft wird - dies ist lediglich eine Komfortfunktion.
template <typename T> const T *QAudioBuffer::data() const
Gibt einen Zeiger auf die Daten dieses Puffers zurück. Sie können ihn nur lesen.
Sie sollten eher die Funktion constData() verwenden, um ein versehentliches Kopieren in die Tiefe zu verhindern.
Beachten Sie, dass das Format des Audiopuffers nicht überprüft wird - dies ist lediglich eine Komfortfunktion.
void QAudioBuffer::detach()
Trennt diesen Audiopuffer von anderen Kopien, die möglicherweise Daten mit ihm teilen.
[noexcept]
qint64 QAudioBuffer::duration() const
Gibt die Dauer des Tons in diesem Puffer in Mikrosekunden zurück.
Dies hängt von der format() und der frameCount() ab.
[noexcept]
QAudioFormat QAudioBuffer::format() const
Gibt die format dieses Puffers zurück.
Mehrere Eigenschaften dieses Formats beeinflussen, wie 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 ein verschachtelter Satz von einem Sample pro Kanal zum gleichen Zeitpunkt.
[noexcept]
bool QAudioBuffer::isValid() const
Gibt true zurück, wenn dies ein gültiger Puffer ist. Ein gültiger Puffer enthält mehr als null Bilder 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 hat, umfasst diese Zahl alle Kanäle. Das bedeutet, dass ein Stereopuffer mit insgesamt 1000 Samples 500 linke Samples und 500 rechte Samples (verschachtelt) hat, und diese Funktion gibt 1000 zurück.
Siehe auch frameCount().
[noexcept]
qint64 QAudioBuffer::startTime() const
Gibt die Zeit in einem Stream zurück, zu der 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 Audiopuffer mit other aus.
[noexcept]
QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)
Bewegt sich other in diese QAudioBuffer.
QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)
Weist diesem den Puffer other zu.
© 2025 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.