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 ().