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