日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows平台RTMP/RTSP播放器如何实现实时音量调节

發布時間:2025/3/12 windows 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows平台RTMP/RTSP播放器如何实现实时音量调节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么要做實時音量調節

RTMP或RTSP直播播放音量調節,主要用于多實例(多窗口)播放場景下,比如同時播放4路RTMP或RTSP流,如果音頻全部打開,幾路audio同時打開,可能會影響用戶體驗,我們通用的做法是支持播放端實時靜音,更細粒度的做法是可以實時調節每一路RTMP/RTSP流的音量。

音量調節接口設計

RTMP或RTSP直播播放端音量調節功能設計主要考慮到一點,和市面通用的本地播放器或點播播放器功能對齊(如VLC、PotPlayer等),音量可以實時調整即可,本文以大牛直播SDK的Windows平臺RTSP直播播放SDK/RTMP直播播放SDK的C++接口demo為例(C#亦可,具體可參照 Github),簡單介紹下相關的接口設計和用法。

/*設置播放音量, 范圍是[0, 100], 0是靜音,100是最大音量, 默認是100調用正確返回NT_ERC_OK*/NT_UINT32(NT_API *SetAudioVolume)(NT_HANDLE handle, NT_INT32 volume);

具體調用:

C++的demo以CSliderCtrl控件為例,音量調節力度,設置到[0, 100], 設置為0時,實時靜音,設置為100時,默認原音量輸出,具體調用如下:

CSliderCtrl slider_audio_volume_;player_api_.SetAudioVolume(player_handle_, slider_audio_volume_.GetPos()); void CSmartPlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) {// TODO: Add your message handler code here and/or call defaultif (IDC_SLIDER_VOLUME == pScrollBar->GetDlgCtrlID()){switch (nSBCode){case SB_LINELEFT:case SB_LINERIGHT:case SB_PAGELEFT:case SB_PAGERIGHT:case SB_LEFT:case SB_RIGHT:{/*std::wostringstream wss;wss << L"OnHScroll nSBCode:" << nSBCode << " nPos:" << nPos << " GetPos():" << slider_audio_device_volume_.GetPos()<< "\r\n";OutputDebugString(wss.str().c_str());*/if (is_playing_ && player_handle_ != NULL){player_api_.SetAudioVolume(player_handle_, slider_audio_volume_.GetPos());}}break;case SB_THUMBPOSITION:{/*std::wostringstream wss;wss << L"SB_THUMBPOSITION" << " nPos:" << nPos << " GetPos():" << slider_audio_device_volume_.GetPos()<< "\r\n";OutputDebugString(wss.str().c_str());*/}break;case SB_THUMBTRACK:{/*std::wostringstream wss;wss << L"SB_THUMBTRACK" << " nPos:" << nPos << " GetPos():" << slider_audio_device_volume_.GetPos()<< "\r\n";OutputDebugString(wss.str().c_str());*/if (is_playing_ && player_handle_ != NULL){player_api_.SetAudioVolume(player_handle_, slider_audio_volume_.GetPos());}}break;default:break;}}CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar); }

實時音量調節作為RTSP或RTMP直播播放器的擴展功能,在好多行業用處很大,如教育類、監控類多窗口(大屏環境下)播放場景,感興趣的開發者可以試試看。

總結

以上是生活随笔為你收集整理的Windows平台RTMP/RTSP播放器如何实现实时音量调节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。