1 概述
在 K 歌場景中,經常需要拉多路流并顯示其中正在講話的用戶,我們需要甄別用戶是否說話、說話音量大小(音浪),并在 UI 上展示,如圖:

2 原始碼下載
下載示例原始碼
參考檔案: src/Examples/AdvancedAudioProcessing/SoundLevelAndAudioSpectrum
3 環境準備
在監聽音量變化功能之前,需確保:
- 已在專案中集成 ZEGO Express SDK,實作基本的實時音視頻功能,詳情請參考 快速開始 - 集成 和 快速開始 - 實作流程,
- 已在 ZEGO 控制臺 創建專案,并申請有效的 AppID,詳情請參考 控制臺 - 專案管理 中的“專案資訊”,
4 使用步驟
4.1 監聽音浪回呼介面
注冊 soundLevelUpdate 回呼,接收流音量大小的變化,
音浪即某條流音量的大小,
zg.on('soundLevelUpdate', (streamList) => {
streamList.forEach(stream => {
stream.type == 'push' && $('#soundLevel').html(Math.round(stream.soundLevel) + '');
console.warn(`${stream.type} ${stream.streamID}, soundLevel: ${stream.soundLevel}`);
});
});
4.2 啟動音浪監聽
呼叫 setSoundLevelDelegate介面啟動監聽音量大小,設定音浪回呼間隔時間,
zg.setSoundLevelDelegate(true, 1000);
4.3 停止聲浪監聽
呼叫 setSoundLevelDelegate 介面停止監聽音量大小,
zg.setSoundLevelDelegate(false);
5 API 參考串列
| 方法 | 描述 |
|---|---|
| soundLevelUpdate | 音浪回呼 |
| setSoundLevelDelegate | 設定是否監聽音浪及音浪回呼間隔時間 |
結語
獲取本文的Demo、開發檔案、技術支持,
獲取SDK的商務活動、熱門產品,
注冊即構ZEGO開發者帳號,快速開始,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/465945.html
標籤:Java
