QtAudio Namespace
QtAudio 名前空間は、オーディオクラスで使用される列挙型を含んでいます。詳細...
Header: | #include <QtAudio> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
型
enum | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
enum | State { ActiveState, SuspendedState, StoppedState, IdleState } |
enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
関数
float | convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to) |
型の説明
enum QtAudio::Error
定数 | 値 | 説明 |
---|---|---|
QtAudio::NoError | 0 | エラーは発生していません |
QtAudio::OpenError | 1 | オーディオデバイスを開く際にエラーが発生した |
QtAudio::IOError | 2 | オーディオデバイスの読み取り/書き込み中にエラーが発生した |
QtAudio::UnderrunError | 3 | オーディオデータがオーディオデバイスに十分な速度で供給されていない。 |
QtAudio::FatalError | 4 | 回復不可能なエラーが発生したため、オーディオデバイスは現在使用できません。 |
enum QtAudio::State
定数 | 値 | 説明 |
---|---|---|
QtAudio::ActiveState | 0 | オーディオ・データは処理中であり、この状態は start()が呼び出された後、オーディオ・データが処理可能である間に設定される。 |
QtAudio::SuspendedState | 1 | オーディオストリームはサスペンド状態にある。suspend()が呼び出された後、または別のストリームがオーディオデバイスの制御権を取得した場合に設定される。後者の場合、resume()をコールすると、オーディオデバイスの制御がこのストリームに戻される。これは通常、ユーザの要求があった場合にのみ実行されるべきである。 |
QtAudio::StoppedState | 2 | オーディオデバイスがクローズされ、オーディオデータを処理していない。 |
QtAudio::IdleState | 3 | 渡されたQIODevice にはデータがなく、オーディオシステムのバッファは空である。この状態は、 start() が呼ばれた後、処理可能なオーディオデータがないときに設定される。 |
enum QtAudio::VolumeScale
この列挙型は、さまざまなオーディオ音量スケールを定義します。
定数 | 値 | 説明 |
---|---|---|
QtAudio::LinearVolumeScale | 0 | リニアスケール。 0.0 (0%)は無音、1.0 (100%)はフルボリューム。オーディオボリュームを持つすべての Qt Multimedia クラスは、リニアスケールを使用します。 |
QtAudio::CubicVolumeScale | 1 | キュービックスケール。 0.0 (0%)は無音、1.0 (100%)はフルボリューム。 |
QtAudio::LogarithmicVolumeScale | 2 | 対数スケール。 0.0 (0%)は無音、1.0 (100%)はフルボリュームです。UIの音量コントロールは通常、対数目盛りを使うべきである。 |
QtAudio::DecibelVolumeScale | 3 | デシベル(dB、振幅)対数スケール。-200 は無音、0 はフルボリューム。 |
QtAudio::convertVolume()も参照 。
関数 ドキュメント
float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)
音声volume from 音量スケールto 別のスケールに変換し、結果を返します。
コンテキストに応じて、オーディオの音量を表すために異なるスケールが使用されます。その理由は、スピーカーの音量は、その電圧をリニアスケールで変調することによって制御されるからです。一方、人間の耳はラウドネスを対数で認識します。従って、ボリューム・コントロールに対数スケールを使用することは、ほとんどの用途において適切です。デシベルスケールはもともと対数スケールであり、サウンドレベルを定義するために一般的に使用され、それは通常、プロフェッショナルオーディオアプリケーションのUIボリュームコントロールに使用されます。キュービックスケールは、対数スケールの計算コストの安い近似値で、より低い音量レベルをよりコントロールできます。
次の例では、スライダコントロールのボリューム値をQMediaPlayer に渡す前に変換する方法を示しています。その結果、ボリュームスライダを20から30に上げるときと、50から60に上げるときとで、知覚されるボリュームの増加は同じになります:
void applyVolume(int volumeSliderValue) { // volumeSliderValue is in the range [0..100] qreal linearVolume = QtAudio::convertVolume(volumeSliderValue / qreal(100.0), QtAudio::LogarithmicVolumeScale, QtAudio::LinearVolumeScale); player.setVolume(qRound(linearVolume * 100)); }
VolumeScale,QAudioSink::setVolume(),QAudioSource::setVolume(),QSoundEffect::setVolume()も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。