1 耳返功能簡介 ZEGO Express SDK 提供了Flutter耳返和雙聲道的功能,在視頻直播、K歌、音頻錄製等場景下廣泛應用,開發者可根據實際業務場景需要設置,一套代碼可實現跨平臺音視頻耳返功能,節省開發成本。 實時音視頻的耳返作用就是在嘈雜的環境下,清楚地聽伴奏和自己的聲音,來鑒定自己有 ...
1 耳返功能簡介
ZEGO Express SDK 提供了Flutter耳返和雙聲道的功能,在視頻直播、K歌、音頻錄製等場景下廣泛應用,開發者可根據實際業務場景需要設置,一套代碼可實現跨平臺音視頻耳返功能,節省開發成本。
實時音視頻的耳返作用就是在嘈雜的環境下,清楚地聽伴奏和自己的聲音,來鑒定自己有沒有走音。技術實現上要實時錄製的音頻低延遲播放出去,這個過程對延遲要求很高。
- 耳返即耳機採集監聽,在設備上插入耳機(普通耳機或藍牙耳機)後,能從本機耳機側聽到本設備麥克風采集的聲音。
- 雙聲道即兩個聲音通道,聽到聲音時可以根據左耳和右耳對聲音相位差來判斷聲源的具體位置。ZEGO Express SDK 預設音頻採集單聲道,當開發者有高音質需求時,可開啟雙聲道採集功能,通過專門的雙聲道採集設備可以採集到雙聲道的音頻數據併進行推流。
2 實現耳返和聲道功能的前提條件
在進行耳返與聲道設置之前,請確保:
- 已在項目中集成 ZEGO Express SDK,實現基本的實時音視頻功能,詳情請參考 快速開始 - 集成 和 快速開始 - 實現流程。
- 已在 ZEGO 控制台 創建項目,並申請有效的 AppID 和 AppSign,詳情請參考 控制台 - 項目管理 中的“項目信息”。
3 ZEGO 音視頻 SDK使用步驟
3.1 設置直播或K歌場景下的耳返
3.1.1 開啟直播耳返
開啟預覽後或者開始推流後調用 enableHeadphoneMonitor
開啟採集監聽即耳返,主播方講話後,會聽到自己的聲音。
開啟耳返後,在連接上耳麥時耳返功能才實際生效。
ZegoExpressEngine.instance.enableHeadphoneMonitor(true);
3.1.2 設置耳返音量
開啟預覽後或者開始推流後可調用 setHeadphoneMonitorVolume
調整耳返的音量。
其中參數 “volume” 為採集耳返音量大小,取值範圍為 0 ~ 200,預設 “60”。
ZegoExpressEngine.instance.setHeadphoneMonitorVolume(100);
3.2 設置聲道
setAudioConfig
和 setAudioCaptureStereoMode
都需要在 startPublishingStream
、startPlayingStream
、startPreview
、createMediaPlayer
和 createAudioEffectPlayer
之前調用才有效。
3.2.1 設置音頻雙聲道編碼
在推流前調用 setAudioConfig
方法設置音頻質量相關配置,其中音頻編碼聲道參數 “channel” 需要設置為雙聲道編碼(預設值為單聲道編碼),其他參數取預設值即可。
var audioConfig = ZegoAudioConfig.preset(ZegoAudioConfigPreset.HighQualityStereo));
ZegoExpressEngine.instance.setAudioConfig(audioConfig);
3.2.2 設置音頻採集雙聲道模式
調用 setAudioCaptureStereoMode
方法開啟音頻雙聲道採集,並根據實際場景設置 “Mode” 參數(預設值為始終不開啟雙聲道),用於實現始終開啟雙聲道採集或僅在推流時開啟雙聲道。
ZegoExpressEngine.instance.setAudioCaptureStereoMode(ZegoAudioCaptureStereoMode.Always);
3.2.3 推流
請參考 快速開始 - 實現流程 的 “3.3 推流”,此時所推流的音頻是雙聲道,拉流端無需做額外的配置,直接拉流即可播放雙聲道音頻。
雙聲道採集需要推流端使用支持雙聲道採集的設備作為音頻輸入源,一般手機的麥克風不支持採集雙聲道。
4 ZEGO 即構音效解決方案
ZEGO 即構音視頻SDK還擁有AI降噪、美聲音效的能力,線上K歌場景中可錦上添花,配合超低延時耳返功能,端到端延遲低於 70 ms,達到人體無感官延遲水平,演唱者可享受極致的K歌體驗,暢享真正實時的快樂。
音視頻場景解決方案分享,更多詳情可搜索官網(https://zegoguanwang.datasink.sensorsdata.cn/t/pB)