QAudioBuffer Class

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

Header: #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ビットfloatモノ・サンプル用の定義済み特殊化です。

QAudioBuffer::F32S

これは、32 ビット float ステレオ・サンプル用の定義済み特殊化です。

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 を返す。

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

[noexcept] qsizetype QAudioBuffer::frameCount() const

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

オーディオフレームとは、各チャンネルに1サンプルずつ、同じ時刻にインターリーブされたセットのことである。

[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 バッファをこのバッファに割り当てます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。