QAudioBuffer Class

QAudioBufferクラスは、特定のフォーマットとサンプルレートを持つオーディオサンプルのコレクションを表します。詳細...

ヘッダー #include <QAudioBuffer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia

パブリックな型

パブリック関数

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)

詳細説明

QAudioBufferは、QAudioDecoder 、デコードされたオーディオ・データをアプリケーションに渡すために使用されます。オーディオ・バッファは、format() を使用してクエリできる、特定のQAudioFormat のデータを含んでいます。また、タイミングと継続時間の情報がタグ付けされています。

バッファに格納されたデータにアクセスするには、data() またはconstData() メソッドを使用します。

オーディオ・バッファは明示的に共有されるため、ほとんどの場合、データを変更する前にdetach() を呼び出す必要がある。

メンバ型ドキュメント

QAudioBuffer::F32M

これは、32ビット・フロート・モノ・サンプルのための定義済みの特殊化です。

QAudioBuffer::F32S

これは、32ビット・フロート・ステレオ・サンプルのための、あらかじめ定義された特殊化です。

QAudioBuffer::S16M

これは符号付き16ビット・モノ・サンプルのためにあらかじめ定義された特殊化である。

QAudioBuffer::S16S

これは、符号付きステレオ16ビットサンプルのための定義済みの特殊化です。各チャンネルは符号付きショートです。

QAudioBuffer::S32M

これは、符号付き32ビット・モノ・サンプルのためにあらかじめ定義された特殊化です。

QAudioBuffer::S32S

これはサインされた32ビット・ステレオ・サンプルのための、あらかじめ定義された特殊化です。

QAudioBuffer::U8M

これは、符号なし8ビットのモノ・サンプル用に定義済みの特殊化です。

QAudioBuffer::U8S

これは、未シグの 8 ビットステレオサンプルのための事前定義された特殊化です。

メンバー関数ドキュメント

[noexcept] QAudioBuffer::QAudioBuffer()

新しい、空の、無効なバッファを作成する。

QAudioBuffer::QAudioBuffer(const QByteArray &data, const QAudioFormat &format, qint64 startTime = -1)

与えられたformat で、与えられたdata から新しいオーディオバッファを作成する。フォーマットは、サンプルの数とサイズがdata からどのように解釈されるかを決定します。

与えられたdata が、計算されたフレームサイズの整数倍でない場合、余分なデータは使用されません。

このオーディオバッファはdata の内容をコピーします。

startTime (マイクロ秒単位) は、このバッファがストリーム内で開始するタイミングを示します。このバッファがストリームの一部でない場合は、-1 を設定します。

QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)

与えられたformatnumFrames フレーム分のスペースを持つ新しいオーディオバッファを作成します。個々のサンプルは、そのフォーマットのデフォルト値に初期化されます。

startTime (マイクロ秒単位) は、このバッファがストリーム内で開始するタイミングを示します。このバッファがストリームの一部でない場合は、-1 を設定します。

[noexcept] QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)

other から新しいオーディオバッファを作成します。オーディオバッファは明示的に共有されるため、バッファに対してdetach() を呼び出してコピーを作成し、それを変更できるようにする必要があります。

[noexcept] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)

other から移動して QAudioBuffer を構築します。

[noexcept] QAudioBuffer::~QAudioBuffer()

このオーディオバッファを破棄する。

[noexcept] qsizetype QAudioBuffer::byteCount() const

このバッファのサイズをバイト数で返します。

template <typename T> const T *QAudioBuffer::constData() const

このバッファのデータへのポインタを返します。読み込むことしかできない。

このメソッドは、不要なコピーを防ぐために、data() の const バージョンよりも推奨されます。

オーディオバッファのフォーマットチェックは行われないことに注意してください - これは単に便利な関数です。

// With a 16bit sample buffer:
const quint16 *data = buffer->constData<quint16>();

template <typename T> T *QAudioBuffer::data()

このバッファのデータへのポインタを返します。返されたポインタを通してデータを変更することができる。

QAudioBuffer オブジェクトは明示的に共有されるため、通常はこの関数を通してデータを変更する前にdetach() を呼び出す必要があります。

オーディオバッファのフォーマットはチェックされないことに注意してください - これは単に便利な関数です。

// With a 16bit sample buffer:
quint16 *data = buffer->data<quint16>(); // May cause deep copy

template <typename T> const T *QAudioBuffer::data() const

このバッファのデータへのポインタを返します。読み込むことしかできません。

偶発的なディープコピーを防ぐため、この関数ではなくconstData() 関数を使用する必要があります。

オーディオバッファのフォーマットチェックは行われないことに注意してください - これは単に便利な関数です。

// With a 16bit sample const buffer:
const quint16 *data = buffer->data<quint16>();

void QAudioBuffer::detach()

このオーディオバッファとデータを共有する可能性のある他のコピーから、このオーディオバッファを切り離す。

[noexcept] qint64 QAudioBuffer::duration() const

このバッファ内のオーディオの継続時間をマイクロ秒単位で返す。

これはformat() とframeCount() に依存する。

[noexcept] QAudioFormat QAudioBuffer::format() const

このバッファのformat を返す。

このフォーマットのいくつかの特性は、frameCount() からduration() やbyteCount() がどのように計算されるかに影響する。

[noexcept] qsizetype QAudioBuffer::frameCount() const

このバッファ内の完全なオーディオフレームの数を返します。

オーディオフレームとは、各チャンネルごとに同じ瞬間のサンプルをインターリーブしたものです。

[noexcept] bool QAudioBuffer::isValid() const

これが有効なバッファであれば真を返す。有効なバッファは、その中に0フレーム以上あり、有効なフォーマットを持っています。

[noexcept] qsizetype QAudioBuffer::sampleCount() const

このバッファ内のサンプル数を返す。

このバッファのフォーマットが複数のチャンネルを持つ場合、このカウントはすべてのチャンネルを含みます。つまり、合計1000サンプルのステレオバッファは、(インターリーブされた)左500サンプルと右500サンプルを持ち、この関数は1000を返します。

frameCount()も参照

[noexcept] qint64 QAudioBuffer::startTime() const

このバッファがストリーム内で開始する時刻を(マイクロ秒単位で)返します。

このバッファがストリームの一部でない場合は -1 を返す。

[noexcept] void QAudioBuffer::swap(QAudioBuffer &other)

オーディオバッファをother と交換する。

[noexcept] QAudioBuffer &QAudioBuffer::operator=(QAudioBuffer &&other)

other をこのQAudioBuffer に移動する。

QAudioBuffer &QAudioBuffer::operator=(const QAudioBuffer &other)

other バッファをこれに割り当てる。

© 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.