在音視頻應用中我們經常涉及到耳機麥克風和設備麥克風的切換。不同聲道的配置。在遇到這種情況的時候,我們如何配置呢? 耳返即耳機採集監聽,在設備上插入耳機(普通耳機或藍牙耳機)後,能從本機耳機側聽到本設備麥克風采集的聲音。 雙聲道即兩個聲音通道,聽到聲音時可以根據左耳和右耳對聲音相位差來判斷聲源的具體... ...
1 功能簡介
在音視頻應用中我們經常涉及到耳機麥克風和設備麥克風的切換。不同聲道的配置。在遇到這種情況的時候,我們如何配置呢?
- 耳返即耳機採集監聽,在設備上插入耳機(普通耳機或藍牙耳機)後,能從本機耳機側聽到本設備麥克風采集的聲音。
- 雙聲道即兩個聲音通道,聽到聲音時可以根據左耳和右耳對聲音相位差來判斷聲源的具體位置。ZEGO Express SDK 預設音頻採集單聲道,當開發者有高音質需求時,可開啟雙聲道採集功能,通過專門的雙聲道採集設備可以採集到雙聲道的音頻數據併進行推流。
2 示例源碼下載
請參考 下載示例源碼 獲取源碼。
相關源碼請查看 “/ZegoExpressExample/AdvancedAudioProcessing/src/main/java/im/zego/advancedaudioprocessing/voicechange” 目錄下的文件。
3 前提條件
在進行耳返與聲道設置之前,請確保:
- 已在項目中集成 ZEGO Express SDK,實現基本的實時音視頻功能,詳情請參考 快速開始 - 集成 和 快速開始 - 實現流程。
- 已在 ZEGO 控制台 創建項目,並申請有效的 AppID,詳情請參考 控制台 - 項目管理 中的“項目信息”。
4 使用步驟
4.1 設置耳返
4.1.1 開啟耳返
開啟預覽後或者開始推流後調用 enableHeadphoneMonitor
開啟採集監聽即耳返,主播方講話後,會聽到自己的聲音。
開啟耳返後,在連接上耳麥時耳返功能才實際生效。
engine.enableHeadphoneMonitor(true);
4.1.2 設置耳返音量
開啟預覽後或者開始推流後可調用 setHeadphoneMonitorVolume
調整耳返的音量。
其中參數 “volume” 為採集耳返音量大小,取值範圍為 0 ~ 200,預設 “100”。
engine.setHeadphoneMonitorVolume(100);
4.2 設置聲道
setAudioConfig
和 setAudioCaptureStereoMode
都需要在 startPublishingStream
、startPlayingStream
、startPreview
、createMediaPlayer
和 createAudioEffectPlayer
之前調用才有效。
4.2.1 設置音頻雙聲道編碼
在推流前調用 setAudioConfig
方法設置音頻質量相關配置,其中音頻編碼聲道參數 “channel” 需要設置為雙聲道編碼(預設值為單聲道編碼),其他參數取預設值即可。
ZegoAudioConfig audioConfig = new ZegoAudioConfig(ZegoAudioConfigPreset.HIGH_QUALITY_STEREO));
ZegoExpressEngine.getEngine().setAudioConfig(audioConfig);
4.2.2 設置音頻採集雙聲道模式
調用 setAudioCaptureStereoMode
方法開啟音頻雙聲道採集,並根據實際場景設置 “Mode” 參數(預設值為始終不開啟雙聲道),用於實現始終開啟雙聲道採集或僅在推流時開啟雙聲道。
ZegoExpressEngine.getEngine().setAudioCaptureStereoMode(ZegoAudioCaptureStereoMode.ALWAYS);
4.2.3 推流
請參考 快速開始 - 實現流程 的 “3.3 推流”,此時所推流的音頻是雙聲道,拉流端無需做額外的配置,直接拉流即可播放雙聲道音頻。
雙聲道採集需要推流端使用支持雙聲道採集的設備作為音頻輸入源,一般手機的麥克風不支持採集雙聲道。
5 API 參考列表
方法 | 描述 |
---|---|
enableHeadphoneMonitor |
開啟/關閉耳返 |
setHeadphoneMonitorVolume |
設置耳返音量 |
setAudioConfig |
設置音頻質量配置 |
setAudioCaptureStereoMode |
設置音頻採集雙聲道模式 |
startPublishingStream |
開始推流 |
獲取更多支持
獲取本文的Demo、開發文檔、技術支持。
獲取SDK的商務活動、熱門產品。
註冊即構ZEGO開發者帳號,快速開始。