91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Qt ffmpeg音量怎么設置

發布時間:2021-12-15 10:20:18 來源:億速云 閱讀:209 作者:iii 欄目:互聯網科技

這篇文章主要介紹“Qt ffmpeg音量怎么設置”,在日常操作中,相信很多人在Qt ffmpeg音量怎么設置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Qt ffmpeg音量怎么設置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、前言

音視頻的播放、關閉、暫停、繼續這幾個基本功能,絕大部分人都是信手拈來的搞定,關于音量調節還是稍微饒了下彎彎,最開始打算采用各個系統的api來處理,坐下來發現不大好,系統的支持不完美,比如有些api限定了win7,而xp確沒有,而且這玩意控制的是全局的音量,不好,大部分時候需要控制的是當前播放的媒體的音量,估計vlc和mpv這類播放器在處理聲音的時候也有過如此的場景分析,后面還測試過用ffmpeg的filter濾鏡代碼控制音頻數據的分貝值,比較繁瑣,代碼量也大,不方便初學者學習,最后靈機一動去找QAudioOutput的函數看下有沒有volume的函數,果真有臥槽,原來自帶了,對Qt的愛慕之情又猛增了幾十分,這里要注意的是QAudioOutput的音量值參數是0-1的范圍double類型,而不是像vlc等播放器是0-100的值,所以需要自行轉換。 如果搞定了音量的控制,那靜音的設置當然分分鐘啦,無非就是記住之前的音量,然后將音量設置0,取消靜音的時候自動設置音量為最后記住的音量值即可。

二、功能特點

  1. 多線程實時播放視頻流+本地視頻+USB攝像頭等。

  2. 支持windows+linux+mac,支持ffmpeg3和ffmpeg4,支持32位和64位。

  3. 多線程顯示圖像,不卡主界面。

  4. 自動重連網絡攝像頭。

  5. 可設置邊框大小即偏移量和邊框顏色。

  6. 可設置是否繪制OSD標簽即標簽文本或圖片和標簽位置。

  7. 可設置兩種OSD位置和風格。

  8. 可設置是否保存到文件以及文件名。

  9. 可直接拖曳文件到ffmpegwidget控件播放。

  10. 支持h365視頻流+rtmp等常見視頻流。

  11. 可暫停播放和繼續播放。

  12. 支持存儲單個視頻文件和定時存儲視頻文件。

  13. 自定義頂部懸浮條,發送單擊信號通知,可設置是否啟用。

  14. 可設置畫面拉伸填充或者等比例填充。

  15. 可設置解碼是速度優先、質量優先、均衡處理。

  16. 可對視頻進行截圖(原始圖片)和截屏。

  17. 錄像文件存儲支持裸流和MP4文件。

  18. 音視頻完美同步,采用外部時鐘同步策略。

  19. 支持seek定位播放位置。

  20. 支持qsv、dxva2、d3d11va等硬解碼。

  21. 支持opengl繪制視頻數據,極低CPU占用。

  22. 支持安卓和嵌入式linux,交叉編譯即可。

三、效果圖

Qt ffmpeg音量怎么設置

四、核心代碼

bool FFmpegThread::getMute()
{
    return (getVolume() == 0);
}

int volume = 0;
void FFmpegThread::setMute(bool mute)
{
    //先記住之前的音量以便重新設置
    if (mute) {
        volume = getVolume();
        setVolume(0);
    } else {
        setVolume(volume);
    }
}

int FFmpegThread::getVolume()
{
    if (this->isRunning()) {
#if (QT_VERSION > QT_VERSION_CHECK(5,0,0))
        return audioOutput->volume() * 100;
#endif
    } else {
        return 0;
    }
}

void FFmpegThread::setVolume(int volume)
{
    if (this->isRunning()) {
#if (QT_VERSION > QT_VERSION_CHECK(5,0,0))
        //查閱手冊說范圍值是 0.0 - 1.0
        audioOutput->setVolume((float)volume / 100.0);
#endif
    }
}

到此,關于“Qt ffmpeg音量怎么設置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定陶县| 赫章县| 龙游县| 花垣县| 长沙市| 屯门区| 那坡县| 北宁市| 乌苏市| 峡江县| 泽普县| 洪湖市| 屯门区| 霍州市| 县级市| 漳浦县| 慈利县| 平乐县| 竹北市| 金秀| 高平市| 灵璧县| 嘉祥县| 哈密市| 前郭尔| 关岭| 福泉市| 蓝田县| 石屏县| 永寿县| 曲阜市| 富裕县| 奇台县| 西峡县| 土默特右旗| 根河市| 彰化县| 界首市| 都江堰市| 桂平市| 密山市|