QAudio 名称空间

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 名称空间包含音频类使用的枚举。

    类型文档编制

    enum QAudio:: Error

    常量 描述
    QAudio::NoError 0 没有出现错误
    QAudio::OpenError 1 打开音频设备时,出现错误
    QAudio::IOError 2 读/写音频设备时,出现错误
    QAudio::UnderrunError 3 未以足够快的速率,把音频数据喂给音频设备
    QAudio::FatalError 4 出现不可恢复错误,音频设备此时不可用。

    enum QAudio:: Mode

    常量 描述
    QAudio::AudioOutput 1 音频输出设备
    QAudio::AudioInput 0 音频输入设备

    enum QAudio:: Role

    此枚举描述音频流的角色。

    常量 描述
    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 ().

    enum QAudio:: State

    常量 描述
    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() 后设置,且同时没有音频数据可用于处理。

    enum QAudio:: VolumeScale

    此枚举定义不同音频音量的比例缩放。

    常量 描述
    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 ().

    函数文档编制

    qreal QAudio:: convertVolume ( qreal volume , VolumeScale from , VolumeScale to )

    转换音频 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 ().