このページでは

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::UnknownPosition0位置不明
QAudioFormat::FrontLeft1 
QAudioFormat::FrontRight2 
QAudioFormat::FrontCenter3 
QAudioFormat::LFE4低周波エフェクトチャンネル(サブウーファー)
QAudioFormat::BackLeft5 
QAudioFormat::BackRight6 
QAudioFormat::FrontLeftOfCenter7 
QAudioFormat::FrontRightOfCenter8 
QAudioFormat::BackCenter9 
QAudioFormat::LFE219 
QAudioFormat::SideLeft10 
QAudioFormat::SideRight11 
QAudioFormat::TopFrontLeft13 
QAudioFormat::TopFrontRight15 
QAudioFormat::TopFrontCenter14 
QAudioFormat::TopCenter12 
QAudioFormat::TopBackLeft16 
QAudioFormat::TopBackRight18 
QAudioFormat::TopSideLeft20 
QAudioFormat::TopSideRight21 
QAudioFormat::TopBackCenter17 
QAudioFormat::BottomFrontCenter22 
QAudioFormat::BottomFrontLeft23 
QAudioFormat::BottomFrontRight24 

enum QAudioFormat::ChannelConfig

この列挙型は、標準化されたオーディオチャンネルの構成を表します。最も一般的な構成は、モノラル、ステレオ、2.1(ステレオ+低周波)、5.1サラウンド、および7.1サラウンドです。

定数値説明
QAudioFormat::ChannelConfigUnknown0チャンネル構成が不明です。
QAudioFormat::ChannelConfigMonoQtPrivate::channelConfig(FrontCenter)オーディオには 1 つのセンターチャンネルがあります。
QAudioFormat::ChannelConfigStereoQtPrivate::channelConfig(FrontLeft, FrontRight)オーディオには、左と右の 2 つのチャンネルがあります。
QAudioFormat::ChannelConfig2Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, LFE)オーディオには、左、右、LFE(低周波効果)の 3 つのチャンネルがあります。
QAudioFormat::ChannelConfig3Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter)音声は、左、右、センターの 3 つのチャンネルで構成されています。
QAudioFormat::ChannelConfig3Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE)オーディオは、左、右、センター、LFE(低周波効果)の 4 チャンネルで構成されています。
QAudioFormat::ChannelConfigSurround5Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight)オーディオには、左、右、センター、BackLeft 、BackRight の5つのチャンネルがあります。
QAudioFormat::ChannelConfigSurround5Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight)オーディオは、左、右、センター、LFE、BackLeft 、BackRight の6チャンネルで構成されています。
QAudioFormat::ChannelConfigSurround7Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight)オーディオは 7 チャンネル(左、右、センター、BackLeft 、BackRight 、SideLeft 、SideRight )で構成されています。
QAudioFormat::ChannelConfigSurround7Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight)オーディオは8チャンネルで、左、右、センター、LFE、BackLeft 、BackRight 、SideLeft 、SideRight です。

enum QAudioFormat::SampleFormat

Qt は常に、ホストプラットフォームのエディアンネス形式のサンプルを想定し、それを使用します。外部ソースからのオーディオデータを独自に処理する場合は、QAudioSink またはQAudioBuffer に書き込む前に、必ず正しいエディアンネスに変換してください。

定数値説明
QAudioFormat::Unknown0未設定
QAudioFormat::UInt81サンプルは 8 ビットの符号なし整数です
QAudioFormat::Int162サンプルは16ビットの符号付き整数
QAudioFormat::Int323サンプルは 32 ビットの符号付き整数です
QAudioFormat::Float4サンプルは浮動小数点数です

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

[implicit] QAudioFormat::QAudioFormat()

新しいオーディオ形式を作成します。

値は次のように初期化されます:

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