QAudioFormat Class
QAudioFormat クラスは、オーディオストリームのパラメータ情報を格納します。詳細...
| ヘッダー: | #include <QAudioFormat> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
パブリック型
| enum | AudioChannelPosition { UnknownPosition, FrontLeft, FrontRight, FrontCenter, LFE, …, BottomFrontRight } |
| enum | ChannelConfig { ChannelConfigUnknown, ChannelConfigMono, ChannelConfigStereo, ChannelConfig2Dot1, ChannelConfig3Dot0, …, ChannelConfigSurround7Dot1 } |
| enum | SampleFormat { Unknown, UInt8, Int16, Int32, Float } |
パブリック関数
| QAudioFormat() | |
| QAudioFormat(const QAudioFormat &other) | |
| ~QAudioFormat() | |
| qint32 | bytesForDuration(qint64 microseconds) const |
| qint32 | bytesForFrames(qint32 frameCount) const |
| int | bytesPerFrame() const |
| int | bytesPerSample() const |
| QAudioFormat::ChannelConfig | channelConfig() const |
| int | channelCount() const |
| int | channelOffset(QAudioFormat::AudioChannelPosition channel) const |
| qint64 | durationForBytes(qint32 bytes) const |
| qint64 | durationForFrames(qint32 frameCount) const |
| qint32 | framesForBytes(qint32 byteCount) const |
| qint32 | framesForDuration(qint64 microseconds) const |
| bool | isValid() const |
| float | normalizedSampleValue(const void *sample) const |
| QAudioFormat::SampleFormat | sampleFormat() const |
| int | sampleRate() const |
| void | setChannelConfig(QAudioFormat::ChannelConfig config) |
| void | setChannelCount(int channels) |
| void | setSampleFormat(QAudioFormat::SampleFormat format) |
| void | setSampleRate(int samplerate) |
静的パブリックメンバー
| QAudioFormat::ChannelConfig | channelConfig(Args... channels) |
| QAudioFormat::ChannelConfig | defaultChannelConfigForChannelCount(int channelCount) |
関連する非メンバ
| bool | operator!=(const QAudioFormat &a, const QAudioFormat &b) |
| bool | operator==(const QAudioFormat &a, const QAudioFormat &b) |
詳細な説明
オーディオフォーマットは、生のオーディオストリーム内のデータがどのように構成されているかを指定します。例えば、そのストリームをどのように解釈すべきかといったことです。
QAudioFormat には、オーディオサンプルデータの構成方法を指定するパラメータが含まれています。これらは、周波数、チャンネル数、およびサンプル形式です。以下の表でこれらについて詳しく説明します。
| パラメータ | 説明 |
|---|---|
| サンプリングレート | オーディオデータの1秒あたりのサンプル数(ヘルツ)。 |
| チャンネル数 | オーディオチャンネルの数(通常、モノラルなら 1、ステレオなら 2)。これらは、ストリーム内で 1 フレームを構成する連続したサンプルの数です。 |
| サンプル形式 | ストリーム内のオーディオサンプルのフォーマット |
このクラスは、QAudioSource またはQAudioSink と組み合わせて、読み取りまたは書き込みを行うオーディオストリームのパラメータを指定するために使用されます。また、メモリ内のサンプルを扱う場合は、QAudioBuffer と組み合わせて使用します。
QAudioDevice の関数を通じて、使用中のオーディオデバイスと互換性のあるオーディオフォーマットを取得できます。また、このクラスを使用すると、デバイスで利用可能なパラメータ値を照会できるため、パラメータを自分で設定することも可能です。詳細については、QAudioDevice クラスの説明を参照してください。再生または録音したいオーディオストリームのフォーマットを把握しておく必要があります。
すべてのチャンネルのサンプルはインターリーブされます。同じ時点における各チャンネルのサンプル1つずつは、Qt Multimedia (およびその他の場所)では「フレーム」と呼ばれます。
メンバ型のドキュメント
enum QAudioFormat::AudioChannelPosition
オーディオチャンネルの配置について説明します。これらは、22.2サラウンドサウンド構成で使用される標準的な定義に従っています。
| 定数 | 値 | 説明 |
|---|---|---|
QAudioFormat::UnknownPosition | 0 | 位置不明 |
QAudioFormat::FrontLeft | 1 | |
QAudioFormat::FrontRight | 2 | |
QAudioFormat::FrontCenter | 3 | |
QAudioFormat::LFE | 4 | 低周波エフェクトチャンネル(サブウーファー) |
QAudioFormat::BackLeft | 5 | |
QAudioFormat::BackRight | 6 | |
QAudioFormat::FrontLeftOfCenter | 7 | |
QAudioFormat::FrontRightOfCenter | 8 | |
QAudioFormat::BackCenter | 9 | |
QAudioFormat::LFE2 | 19 | |
QAudioFormat::SideLeft | 10 | |
QAudioFormat::SideRight | 11 | |
QAudioFormat::TopFrontLeft | 13 | |
QAudioFormat::TopFrontRight | 15 | |
QAudioFormat::TopFrontCenter | 14 | |
QAudioFormat::TopCenter | 12 | |
QAudioFormat::TopBackLeft | 16 | |
QAudioFormat::TopBackRight | 18 | |
QAudioFormat::TopSideLeft | 20 | |
QAudioFormat::TopSideRight | 21 | |
QAudioFormat::TopBackCenter | 17 | |
QAudioFormat::BottomFrontCenter | 22 | |
QAudioFormat::BottomFrontLeft | 23 | |
QAudioFormat::BottomFrontRight | 24 |
enum QAudioFormat::ChannelConfig
この列挙型は、標準化されたオーディオチャンネルの構成を表します。最も一般的な構成は、モノラル、ステレオ、2.1(ステレオ+低周波)、5.1サラウンド、および7.1サラウンドです。
| 定数 | 値 | 説明 |
|---|---|---|
QAudioFormat::ChannelConfigUnknown | 0 | チャンネル構成が不明です。 |
QAudioFormat::ChannelConfigMono | QtPrivate::channelConfig(FrontCenter) | オーディオには 1 つのセンターチャンネルがあります。 |
QAudioFormat::ChannelConfigStereo | QtPrivate::channelConfig(FrontLeft, FrontRight) | オーディオには、左と右の 2 つのチャンネルがあります。 |
QAudioFormat::ChannelConfig2Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) | オーディオには、左、右、LFE(低周波効果)の 3 つのチャンネルがあります。 |
QAudioFormat::ChannelConfig3Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter) | 音声は、左、右、センターの 3 つのチャンネルで構成されています。 |
QAudioFormat::ChannelConfig3Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE) | オーディオは、左、右、センター、LFE(低周波効果)の 4 チャンネルで構成されています。 |
QAudioFormat::ChannelConfigSurround5Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight) | オーディオには、左、右、センター、BackLeft 、BackRight の5つのチャンネルがあります。 |
QAudioFormat::ChannelConfigSurround5Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight) | オーディオは、左、右、センター、LFE、BackLeft 、BackRight の6チャンネルで構成されています。 |
QAudioFormat::ChannelConfigSurround7Dot0 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight) | オーディオは 7 チャンネル(左、右、センター、BackLeft 、BackRight 、SideLeft 、SideRight )で構成されています。 |
QAudioFormat::ChannelConfigSurround7Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight) | オーディオは8チャンネルで、左、右、センター、LFE、BackLeft 、BackRight 、SideLeft 、SideRight です。 |
enum QAudioFormat::SampleFormat
Qt は常に、ホストプラットフォームのエディアンネス形式のサンプルを想定し、それを使用します。外部ソースからのオーディオデータを独自に処理する場合は、QAudioSink またはQAudioBuffer に書き込む前に、必ず正しいエディアンネスに変換してください。
| 定数 | 値 | 説明 |
|---|---|---|
QAudioFormat::Unknown | 0 | 未設定 |
QAudioFormat::UInt8 | 1 | サンプルは 8 ビットの符号なし整数です |
QAudioFormat::Int16 | 2 | サンプルは16ビットの符号付き整数 |
QAudioFormat::Int32 | 3 | サンプルは 32 ビットの符号付き整数です |
QAudioFormat::Float | 4 | サンプルは浮動小数点数です |
メンバ関数のドキュメント
[implicit] QAudioFormat::QAudioFormat()
新しいオーディオ形式を作成します。
値は次のように初期化されます:
- sampleRate() = 0
- channelCount() = 0
- sampleFormat() =QAudioFormat::Unknown
[implicit] QAudioFormat::QAudioFormat(const QAudioFormat &other)
other を使用して、新しいオーディオ形式を構築します。
[noexcept implicit] QAudioFormat::~QAudioFormat()
このオーディオ形式を削除してください。
qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const
microseconds で、このオーディオ形式に必要なバイト数を返します。
このフォーマットが無効な場合は 0 を返します。
microseconds がsampleRate() の正確な分数倍でない場合、丸めが生じる可能性があることに注意してください。
durationForBytes()も参照してください 。
qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const
この形式のframeCount フレームに必要なバイト数を返します。
この形式が有効でない場合は 0 を返します。
bytesForDuration()も参照してください 。
[constexpr] int QAudioFormat::bytesPerFrame() const
この形式で1フレーム(各チャンネルの1サンプル)を表現するために必要なバイト数を返します。
このフォーマットが無効な場合は、0を返します。
[constexpr noexcept] int QAudioFormat::bytesPerSample() const
この形式で 1 サンプルを表現するために必要なバイト数を返します。
この形式が無効な場合は、0を返します。
[constexpr noexcept] QAudioFormat::ChannelConfig QAudioFormat::channelConfig() const
現在のチャンネル設定を返します。
setChannelConfig()も参照してください 。
[static constexpr] template <typename... Args> QAudioFormat::ChannelConfig QAudioFormat::channelConfig(Args... channels)
指定されたchannels の現在のチャンネル設定を返します。
[constexpr noexcept] int QAudioFormat::channelCount() const
現在のチャンネル数の値を返します。
setChannelCount()も参照してください 。
[noexcept] int QAudioFormat::channelOffset(QAudioFormat::AudioChannelPosition channel) const
指定されたフォーマットにおけるオーディオフレーム内の特定のオーディオchannel の位置を返します。このフォーマットにそのチャンネルが存在しない場合、またはチャンネルの構成が不明な場合は、-1を返します。
[static] QAudioFormat::ChannelConfig QAudioFormat::defaultChannelConfigForChannelCount(int channelCount)
channelCount のデフォルトのチャンネル構成を返します。
デフォルトの設定は最大8チャンネルまで定義されており、標準的なモノラル、ステレオ、サラウンドの設定に対応しています。チャンネル数がこれより多い場合は、QAudioFormat::AudioChannelPosition で定義された最初のchannelCount オーディオチャンネルが使用されます。
qint64 QAudioFormat::durationForBytes(qint32 bytes) const
この形式において、bytes が表すマイクロ秒数を返します。
この形式が無効な場合は 0 を返します。
bytes が 1 フレームあたりのバイト数に正確に割り切れない倍数でない場合、丸めが発生する可能性があることに注意してください。
bytesForDuration()も参照してください 。
qint64 QAudioFormat::durationForFrames(qint32 frameCount) const
この形式で、frameCount フレームに相当するマイクロ秒数を返します。
qint32 QAudioFormat::framesForBytes(qint32 byteCount) const
この形式で、byteCount が表すフレーム数を返します。
なお、byteCount が 1 フレームあたりのバイト数の正確な倍数でない場合、四捨五入が行われることがあります。
各フレームには、チャンネルごとに 1 つのサンプルが含まれます。
framesForDuration()も参照してください 。
qint32 QAudioFormat::framesForDuration(qint64 microseconds) const
この形式でmicroseconds を表現するために必要なフレーム数を返します。
microseconds が `sampleRate()` の正確な分数でない場合、丸めが生じる可能性があることに注意してください。
[constexpr noexcept] bool QAudioFormat::isValid() const
すべてのパラメータが有効な場合、true を返します。
float QAudioFormat::normalizedSampleValue(const void *sample) const
sample の値を-1から1の間の数値に正規化します。このメソッドの動作はQaudioFormatによって異なります。
[constexpr noexcept] QAudioFormat::SampleFormat QAudioFormat::sampleFormat() const
現在のサンプル形式を返します。
setSampleFormat()も参照してください 。
[constexpr noexcept] int QAudioFormat::sampleRate() const
現在のサンプルレートをヘルツ単位で返します。
setSampleRate()も参照してください 。
[noexcept] void QAudioFormat::setChannelConfig(QAudioFormat::ChannelConfig config)
チャンネル構成を「config 」に設定します。
オーディオ形式のチャンネル構成を、標準のオーディオチャンネル構成のいずれかに設定します。
注:これにより、 チャンネル数も変更されます。
channelConfig()も参照してください 。
[constexpr noexcept] void QAudioFormat::setChannelCount(int channels)
チャンネル数を `channels` に設定します。これを設定すると、チャンネルの設定も `ChannelConfigUnknown` に設定されます。
channelCount()も参照してください 。
[constexpr noexcept] void QAudioFormat::setSampleFormat(QAudioFormat::SampleFormat format)
サンプル形式をformat に設定します。
sampleFormat() およびQAudioFormat::SampleFormatも参照してください 。
[constexpr noexcept] void QAudioFormat::setSampleRate(int samplerate)
サンプルレートをsamplerate (ヘルツ)に設定します。
sampleRate()も参照してください 。
関連する非メンバー関数
bool operator!=(const QAudioFormat &a, const QAudioFormat &b)
オーディオ形式a がb と等しくない場合はtrue を返し、それ以外の場合はfalse を返します。
bool operator==(const QAudioFormat &a, const QAudioFormat &b)
オーディオ形式 `a ` が `b` と等しい場合は `true ` を返し、そうでない場合は `false` を返します。
© 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.