写点什么

技术分享| 音视频多频道使用的正确姿势

发布于: 4 小时前

为方便用户同时加入多个频道,接收多个频道的音视频流,anyRTC 从底层架构给予支持多频道管理,且频道数量无限制,跟随我一起探讨多频道的奥秘吧~


在跟踪客户需求时,总能听到客户说单个频道支持的人数太少了;我想加入一个频道后不退出的情况下,加入其他频道听取下他们的内容;我想同时进多个频道进行监听;我想在大班课上课的同时,给小组分组上课;对讲;分屏监控...这些需求 anyRTC 统统可以满足了~

多频道架构

方案介绍

每个用户可以进入多个频道,且频道数量不限制,但只能在一个频道中发布音视频流,anyRTC 的回调中都会带有频道标识,开发者只需要做好本地管理即可。

实现方法

SDK 提供 ARtcChannel 类和 ARtcChannelDelegate 类实现多频道控制。你可以多次调用 createRtcChannel,通过不同的 channelId 创建多个 ARtcChannel 对象(对应多个频道),然后分别调用 ARtcChannel 中的 joinChannelByToken 方法加入对应的频道。



实现多频道功能的主要步骤如下:


  1. 调用 sharedEngineWithAppId 方法,创建并初始化 ARtcEngineKit

  2. 调用 setChannelProfile方法,将频道场景设置为直播。

  3. 调用 createRtcChannel 方法,通过 channelId 创建一个 AgoraRtcChannel 对象。

  4. 调用 ARtcChannel 类的 setRtcChannelDelegate方法,接收该频道的回调通知。

  5. 调用 ARtcChannel 类的 setClientRole 设置用户角色。

  6. 调用 ARtcChannel 类的 joinChannelByToken 方法加入频道。用户加入频道后,默认自动订阅频道内所有其他用户的流。如果想发布自己的音视频流到该频道中,调用publish方法发布。

  7. 如果需要加入更多的频道,重复步骤 3、4、5、6。


加入多个频道只能在一个频道中发布自己,在调用发布的时候,请确保在其他频道中角色为Audience,在要发布的频道中设置角色为Broadcaster

适用场景

场景 1:大班课分组教学

大班课分组教学业界又叫超级小班课,其场景借鉴了视频会议里的 breakout room 功能,将大班进行分组,小组学习讨论,符合 TBL 的教学理念,既不浪费教师资源,又能满足个性体验。



一个主讲老师同时对多个小班进行授课,班内学生能够进行互动交流,促进学习。

场景 2:互联网对讲

互联网对讲已经逐步进入公共视野,传统的对讲机已经慢慢的被淘汰,传统对讲机面临距离限制、噪声严重、同时只能订阅一个频道等多重问题。anyRTC 互联网对讲方案支持全球对讲,采用 AI 降噪,凸显人声消除噪声,同时支持同时加入多个频道。


互联网对讲方案已经运用到了智慧小区、智慧调度等行业


更多场景玩法期待开发者发掘~


anyRTC 网址:https://www.anyrtc.io/

发布于: 4 小时前阅读数: 4
用户头像

实时交互,万物互联! 2020.08.10 加入

实时交互,万物互联,全球实时互动云服务商领跑者!

评论

发布
暂无评论
技术分享| 音视频多频道使用的正确姿势