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 クラスの説明を参照してください。再生または録音したいオーディオストリームのフォーマットを知っておく必要があります。

すべてのチャンネルのサンプルはインターリーブされます。Qt Multimedia (および他の場所)では、同じ瞬間の各チャンネルの1つのサンプルをフレームと呼ぶ。

メンバー・タイプのドキュメント

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

この列挙型は、標準化されたオーディオチャンネルレイアウトを記述する。最も一般的な構成は、Mono、Stereo、2.1(ステレオ+低域)、5.1サラウンド、7.1サラウンドです。

定数説明
QAudioFormat::ChannelConfigUnknown0チャンネル構成は不明。
QAudioFormat::ChannelConfigMonoQtPrivate::channelConfig(FrontCenter)音声には1つのセンターチャンネルがある。
QAudioFormat::ChannelConfigStereoQtPrivate::channelConfig(FrontLeft, FrontRight)オーディオはLeftとRightの2チャンネル。
QAudioFormat::ChannelConfig2Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, LFE)オーディオには、Left、Right、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)オーディオには、Left、Right、Center、BackLeftBackRight の5つのチャンネルがあります。
QAudioFormat::ChannelConfigSurround5Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight)オーディオは左、右、センター、LFE、BackLeftBackRight の6チャンネル。
QAudioFormat::ChannelConfigSurround7Dot0QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight)オーディオは7チャンネル、レフト、ライト、センター、BackLeftBackRightSideLeftSideRight
QAudioFormat::ChannelConfigSurround7Dot1QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight)音声は左、右、センター、LFE、BackLeftBackRightSideLeftSideRight の8チャンネル。

enum QAudioFormat::SampleFormat

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

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

メンバ関数ドキュメント

[noexcept default] QAudioFormat::QAudioFormat()

新しいオーディオフォーマットを構築する。

値は以下のように初期化される:

[noexcept default] QAudioFormat::QAudioFormat(const QAudioFormat &other)

other を使って新しいオーディオフォーマットを構築する。

[noexcept default] QAudioFormat::~QAudioFormat()

このオーディオフォーマットを破壊する。

qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const

この音声フォーマットに必要なバイト数をmicroseconds に返します。

このフォーマットが有効でない場合は 0 を返す。

microsecondssampleRate() の正確な小数でない場合、丸めが発生する可能性があることに注意。

durationForBytes()も参照

qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const

frameCount このフォーマットのフレームに必要なバイト数を返す。

このフォーマットが有効でない場合は 0 を返す。

bytesForDuration()も参照

[constexpr] int QAudioFormat::bytesPerFrame() const

このフォーマットで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 がフレームあたりのバイト数の正確な倍数でない場合、丸めが発生する可能性があることに注意。

bytesForDuration()も参照

qint64 QAudioFormat::durationForFrames(qint32 frameCount) const

このフォーマットのframeCount フレームで表されるマイクロ秒数を返す。

qint32 QAudioFormat::framesForBytes(qint32 byteCount) const

byteCount で表されるフレームの数をこのフォーマットで返す。

byteCount がフレームあたりのバイト数の正確な倍数でない場合、丸めが発生する可能性があることに注意。

各フレームには、チャンネルごとに1つのサンプルがあります。

framesForDuration()も参照

qint32 QAudioFormat::framesForDuration(qint64 microseconds) const

このフォーマットでmicroseconds を表現するのに必要なフレーム数を返す。

microsecondssampleRate() の正確な小数でない場合、丸めが発生する可能性があることに注意。

[constexpr noexcept] bool QAudioFormat::isValid() const

すべてのパラメータが有効な場合、true を返す。

float QAudioFormat::normalizedSampleValue(const void *sample) const

sample このメソッドは 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)

オーディオフォーマットab と等しくない場合はtrue を返し、そうでない場合はfalse を返す。

bool operator==(const QAudioFormat &a, const QAudioFormat &b)

オーディオフォーマットab と等しい場合はtrue を返し、そうでない場合はfalse を返す。

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