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::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
この列挙型は、標準化されたオーディオチャンネルレイアウトを記述する。最も一般的な構成は、Mono、Stereo、2.1(ステレオ+低域)、5.1サラウンド、7.1サラウンドです。
定数 | 値 | 説明 |
---|---|---|
QAudioFormat::ChannelConfigUnknown | 0 | チャンネル構成は不明。 |
QAudioFormat::ChannelConfigMono | QtPrivate::channelConfig(FrontCenter) | 音声には1つのセンターチャンネルがある。 |
QAudioFormat::ChannelConfigStereo | QtPrivate::channelConfig(FrontLeft, FrontRight) | オーディオはLeftとRightの2チャンネル。 |
QAudioFormat::ChannelConfig2Dot1 | QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) | オーディオには、Left、Right、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) | オーディオには、Left、Right、Center、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) | 音声は左、右、センター、LFE、BackLeft 、BackRight 、SideLeft 、SideRight の8チャンネル。 |
enum QAudioFormat::SampleFormat
Qt は常にホストプラットフォームのエンディアンでサンプルを使用します。外部ソースからのオーディオデータを自分で処理する場合は、QAudioSink またはQAudioBuffer に書き込む前に、正しいエンディアンに変換してください。
定数 | 値 | 説明 |
---|---|---|
QAudioFormat::Unknown | 0 | 設定しない |
QAudioFormat::UInt8 | 1 | サンプルは8ビット符号なし整数 |
QAudioFormat::Int16 | 2 | サンプルは16ビット符号付き整数 |
QAudioFormat::Int32 | 3 | サンプルは32ビット符号付き整数 |
QAudioFormat::Float | 4 | サンプルは浮動小数点数 |
メンバ関数ドキュメント
[noexcept default]
QAudioFormat::QAudioFormat()
新しいオーディオフォーマットを構築する。
値は以下のように初期化される:
- sampleRate() = 0
- channelCount() = 0
- sampleFormat() =QAudioFormat::Unknown
[noexcept default]
QAudioFormat::QAudioFormat(const QAudioFormat &other)
other を使って新しいオーディオフォーマットを構築する。
[noexcept default]
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フレーム(各チャンネルのサンプル)を表現するのに必要なバイト数を返す。
このフォーマットが無効な場合は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 を表現するのに必要なフレーム数を返す。
microseconds がsampleRate() の正確な小数でない場合、丸めが発生する可能性があることに注意。
[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)
オーディオフォーマットa がb と等しくない場合はtrue
を返し、そうでない場合はfalse
を返す。
bool operator==(const QAudioFormat &a, const QAudioFormat &b)
オーディオフォーマットa がb と等しい場合は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.