QAudioFormat Class
QAudioFormat クラスは、オーディオ・ストリームのパラメータ情報を格納します。詳細...
Header: | #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
を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。