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ビットのモノラルサンプル用の事前定義された特化型です。i
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)
指定されたdata から、指定されたformat 内で新しいオーディオバッファを作成します。フォーマットによって、data からサンプルの数やサイズがどのように解釈されるかが決まります。
渡されたdata が計算されたフレームサイズの整数倍でない場合、超過分は使用されません。
このオーディオバッファは、data の内容をコピーします。
startTime (マイクロ秒単位) は、このバッファがストリーム内のどこから始まるかを示します。このバッファがストリームの一部でない場合は、-1 に設定してください。
QAudioBuffer::QAudioBuffer(int numFrames, const QAudioFormat &format, qint64 startTime = -1)
指定されたformat のnumFrames フレーム分を格納できる新しいオーディオバッファを作成します。個々のサンプルは、そのフォーマットのデフォルト値に初期化されます。
startTime (マイクロ秒単位) は、このバッファがストリーム内のどこから始まるかを示します。このバッファがストリームの一部でない場合は、-1 に設定してください。
[noexcept] QAudioBuffer::QAudioBuffer(const QAudioBuffer &other)
other から新しいオーディオバッファを作成します。オーディオバッファは明示的に共有されるため、変更可能なコピーを作成するには、そのバッファに対してdetach() を呼び出す必要があります。
[constexpr noexcept default] QAudioBuffer::QAudioBuffer(QAudioBuffer &&other)
other からデータを読み込んで、QAudioBufferを構築します。
[noexcept] QAudioBuffer::~QAudioBuffer()
このオーディオバッファを破棄します。
[noexcept] qsizetype QAudioBuffer::byteCount() const
このバッファのサイズをバイト単位で返します。
template <typename T> const T *QAudioBuffer::constData() const
このバッファのデータへのポインタを返します。読み取り専用です。
不要なコピーを防ぐため、data()のconstバージョンよりもこのメソッドの使用が推奨されます。
なお、オーディオバッファのフォーマットに関するチェックは行われません。これはあくまで利便性を高めるための関数です。
template <typename T> T *QAudioBuffer::data()
このバッファのデータへのポインタを返します。返されたポインタを介してデータを変更することができます。
QAudioBuffer オブジェクトは明示的に共有されているため、通常はこの関数を通じてデータを変更する前に、detach()を呼び出す必要があります。
なお、オーディオバッファのフォーマットに関するチェックは行われません。これはあくまで利便性を高めるための関数です。
template <typename T> const T *QAudioBuffer::data() const
このバッファのデータへのポインタを返します。読み取り専用です。
意図しない深層コピーを防ぐため、これではなくconstData()関数を使用すべきです。
なお、オーディオバッファの形式に関するチェックは一切行われません。これはあくまで便宜上の関数です。
void QAudioBuffer::detach()
このオーディオバッファを、データ共有を行っている可能性のある他のインスタンスから切り離します。
[noexcept] qint64 QAudioBuffer::duration() const
このバッファ内のオーディオの再生時間をマイクロ秒単位で返します。
これは、format() およびframeCount() に依存します。
[noexcept] QAudioFormat QAudioBuffer::format() const
このバッファのformat を返します。
このフォーマットのいくつかのプロパティは、frameCount() からduration() またはbyteCount() がどのように計算されるかに影響を与えます。
[noexcept] qsizetype QAudioBuffer::frameCount() const
このバッファに含まれる完全なオーディオフレームの数を返します。
オーディオフレームとは、同じ時刻における各チャンネルごとの1サンプルずつがインターリーブされたセットのことです。
[noexcept] bool QAudioBuffer::isValid() const
これが有効なバッファである場合、true を返します。有効なバッファとは、フレーム数が 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 バッファをこれに割り当てます。
© 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.