天天看點

技術分享| 音視訊多頻道使用的正确姿勢

為友善使用者同時加入多個頻道,接收多個頻道的音視訊流,anyRTC 從底層架構給予支援多頻道管理,且頻道數量無限制,跟随我一起探讨多頻道的奧秘吧~

在跟蹤客戶需求時,總能聽到客戶說單個頻道支援的人數太少了;我想加入一個頻道後不退出的情況下,加入其他頻道聽取下他們的内容;我想同時進多個頻道進行監聽;我想在大班課上課的同時,給小組分組上課;對講;分屏監控...這些需求 anyRTC 統統可以滿足了~

技術分享| 音視訊多頻道使用的正确姿勢

每個使用者可以進入多個頻道,且頻道數量不限制,但隻能在一個頻道中釋出音視訊流,anyRTC 的回調中都會帶有頻道辨別,開發者隻需要做好本地管理即可。

SDK 提供 <code>ARtcChannel</code> 類和 <code>ARtcChannelDelegate</code> 類實作多頻道控制。你可以多次調用 <code>createRtcChannel</code>,通過不同的 <code>channelId</code> 建立多個 <code>ARtcChannel</code> 對象(對應多個頻道),然後分别調用 <code>ARtcChannel</code> 中的 <code>joinChannelByToken</code> 方法加入對應的頻道。
技術分享| 音視訊多頻道使用的正确姿勢

實作多頻道功能的主要步驟如下:

調用 <code>sharedEngineWithAppId</code> 方法,建立并初始化 <code>ARtcEngineKit</code>。

調用 <code>setChannelProfile</code>方法,将頻道場景設定為直播。

調用 <code>createRtcChannel</code> 方法,通過 <code>channelId</code> 建立一個 <code>AgoraRtcChannel</code> 對象。

調用 <code>ARtcChannel</code> 類的 <code>setRtcChannelDelegate</code>方法,接收該頻道的回調通知。

調用 <code>ARtcChannel</code> 類的 <code>setClientRole</code> 設定使用者角色。

調用 <code>ARtcChannel</code> 類的 <code>joinChannelByToken</code> 方法加入頻道。使用者加入頻道後,預設自動訂閱頻道内所有其他使用者的流。如果想釋出自己的音視訊流到該頻道中,調用<code>publish</code>方法釋出。

如果需要加入更多的頻道,重複步驟 3、4、5、6。

加入多個頻道隻能在一個頻道中釋出自己,在調用釋出的時候,請確定在其他頻道中角色為<code>Audience</code>,在要釋出的頻道中設定角色為<code>Broadcaster</code>。

大班課分組教學業界又叫超級小班課,其場景借鑒了視訊會議裡的breakout room功能,将大班進行分組,小組學習讨論,符合TBL的教學理念,既不浪費教師資源,又能滿足個性體驗。

技術分享| 音視訊多頻道使用的正确姿勢

一個主講老師同時對多個小班進行授課,班内學生能夠進行互動交流,促進學習。

網際網路對講已經逐漸進入公共視野,傳統的對講機已經慢慢的被淘汰,傳統對講機面臨距離限制、噪聲嚴重、同時隻能訂閱一個頻道等多重問題。anyRTC 網際網路對講方案支援全球對講,采用AI降噪,凸顯人聲消除噪聲,同時支援同時加入多個頻道。

網際網路對講方案已經運用到了智慧小區、智慧排程等行業

更多場景玩法期待開發者發掘~

繼續閱讀