The QAudio 名稱空間包含音頻類使用的枚舉。 更多...
| 頭: | #include <QAudio> |
| qmake: | QT += multimedia |
| enum | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
| enum | Mode { AudioOutput, AudioInput } |
| enum | Role { UnknownRole, MusicRole, VideoRole, VoiceCommunicationRole, ..., GameRole } |
| enum | State { ActiveState, SuspendedState, StoppedState, IdleState } |
| enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
| qreal | convertVolume (qreal volume , VolumeScale from , VolumeScale to ) |
The QAudio 名稱空間包含音頻類使用的枚舉。
| 常量 | 值 | 描述 |
|---|---|---|
QAudio::NoError
|
0
|
沒有齣現錯誤 |
QAudio::OpenError
|
1
|
打開音頻設備時,齣現錯誤 |
QAudio::IOError
|
2
|
讀/寫音頻設備時,齣現錯誤 |
QAudio::UnderrunError
|
3
|
未以足夠快的速率,把音頻數據喂給音頻設備 |
QAudio::FatalError
|
4
|
齣現不可恢復錯誤,音頻設備此時不可用。 |
| 常量 | 值 | 描述 |
|---|---|---|
QAudio::AudioOutput
|
1
|
音頻輸齣設備 |
QAudio::AudioInput
|
0
|
音頻輸入設備 |
此枚舉描述音頻流的角色。
| 常量 | 值 | 描述 |
|---|---|---|
QAudio::UnknownRole
|
0
|
角色未知 (或未定義) |
QAudio::MusicRole
|
1
|
音樂 |
QAudio::VideoRole
|
2
|
來自影片 (或視頻) 的音軌 |
QAudio::VoiceCommunicationRole
|
3
|
話音通信 (譬如:電話) |
QAudio::AlarmRole
|
4
|
鬧鍾 |
QAudio::NotificationRole
|
5
|
通知,譬如:傳入 Email (或聊天請求) |
QAudio::RingtoneRole
|
6
|
鈴聲 |
QAudio::AccessibilityRole
|
7
|
對於可訪問性 (譬如:屏幕閱讀器) |
QAudio::SonificationRole
|
8
|
發聲 (譬如:用戶界麵聲音) |
QAudio::GameRole
|
9
|
遊戲音頻 |
該枚舉在 Qt 5.6 引入或被修改。
另請參閱 QMediaPlayer::setAudioRole ().
| 常量 | 值 | 描述 |
|---|---|---|
QAudio::ActiveState
|
0
|
正處理音頻數據,此狀態是在調用 start() 後設置的,且音頻數據同時可用於處理。 |
QAudio::SuspendedState
|
1
|
The audio device is in a suspended state, this state will only be entered after suspend() is called. |
QAudio::StoppedState
|
2
|
關閉音頻設備,且不處理任何音頻數據 |
QAudio::IdleState
|
3
|
The QIODevice 傳入沒有數據且音頻係統的緩衝為空,此狀態在調用 start() 後設置,且同時沒有音頻數據可用於處理。 |
此枚舉定義不同音頻音量的比例縮放。
| 常量 | 值 | 描述 |
|---|---|---|
QAudio::LinearVolumeScale
|
0
|
綫性比例縮放。
0.0
(0%) 為無聲而
1.0
(100%) 為全音量。所有擁有音頻的 Qt Multimedia 類,音量使用綫性比例縮放。
|
QAudio::CubicVolumeScale
|
1
|
立方比例縮放。
0.0
(0%) 為無聲而
1.0
(100%) 為全音量。
|
QAudio::LogarithmicVolumeScale
|
2
|
對數比例縮放。
0.0
(0%) 為無聲而
1.0
(100%) 為全音量。通常,UI 音量控製應使用對數比例縮放。
|
QAudio::DecibelVolumeScale
|
3
|
分貝 (dB、振幅) 對數比例縮放。
-200
為無聲而
0
為全音量。
|
該枚舉在 Qt 5.8 引入或被修改。
另請參閱 QAudio::convertVolume ().
轉換音頻 volume from 音量比例縮放 to 另一,並返迴結果。
從屬上下文,錶示音頻音量是使用不同刻度。所有擁有音頻音量的 Qt Multimedia 類都使用綫性刻度,原因是揚聲器響度是通過綫性刻度調製其電壓來控製的。另一方麵,人的耳朵以對數方式感知響度。因此,在大多數應用程序中,音量控製使用對數刻度很閤適。分貝刻度本質上是對數的,且常用於定義聲明級彆,通常用於專業音頻應用程序 UI 音量控製。立方刻度是對數刻度的便宜計算近似,它提供對較低音量級彆的更多控製。
以下範例展示如何從滑塊控件轉換音量值,先於把它傳遞給 QMediaPlayer 。因此,感知音量遞增一樣,當把音量滑塊從 20 遞增到 30 時,就像從 50 到 60:
void applyVolume(int volumeSliderValue) { // volumeSliderValue is in the range [0..100] qreal linearVolume = QAudio::convertVolume(volumeSliderValue / qreal(100.0), QAudio::LogarithmicVolumeScale, QAudio::LinearVolumeScale); player.setVolume(qRound(linearVolume * 100)); }
該函數在 Qt 5.8 引入。
另請參閱 VolumeScale , QMediaPlayer::setVolume (), QAudioOutput::setVolume (), QAudioInput::setVolume (), QSoundEffect::setVolume (),和 QMediaRecorder::setVolume ().