实现极速直播

  • Android

更新时间不可用

了解如何快速接入实时互动 RTC,完成环境准备、参数配置、示例运行和核心流程验证。

本文介绍如何集成声网实时互动 SDK,在基础的音视频互动能力上进行少量代码修改,即可实现一个极速直播 App。极速直播是区别于互动直播的一种直播场景,两者的区别在于观众端的延时级别:

  • 互动直播:观众端的延时级别为超低延时,以便满足主播和观众需要频繁进行音视频互动的需求。
  • 极速直播:观众端的延时级别为低延时,可以满足主播与观众较低频率的音视频互动,或者回应观众文字、弹幕及打赏信息。

更多关于极速直播的延时指标、同步性、互动体验以及费用介绍,详见直播场景区别和计费说明。

前提条件

开始前,请确保已在你的项目中实现基本的实时音视频功能。详见实现音视频互动。

实现步骤

将直播场景下观众端的延时级别修改为低延时,即可将一个互动直播 App 修改为极速直播 App,有以下两种实现方式:

  • 在加入频道后,调用 setClientRole [2/2] 方法,将 role 参数设置为 CLIENT_ROLE_AUDIENCE(观众);通过 options 参数将 audienceLatencyLevel 设置为 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY(低延时)。
  • 在调用 joinChannel [2/2] 加入频道时,将 clientRoleType 参数设置为 CLIENT_ROLE_AUDIENCE(观众);将 audienceLatencyLevel 参数设置为 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY(低延时)。示例代码如下:
Java
// 创建 ChannelMediaOptions 对象,并进行配置
ChannelMediaOptions options = new ChannelMediaOptions();
// 根据场景将用户角色设置为 AUDIENCE (观众)
options.clientRoleType = Constants.CLIENT_ROLE_AUDIENCE;
// 将延时级别设置为 AUDIENCE_LATENCY_LEVEL_LOW_LATENCY (低延时)
options.audienceLatencyLevel = Constants.AUDIENCE_LATENCY_LEVEL_LOW_LATENCY;
// 直播场景下,设置频道场景为 BROADCASTING (直播场景)
options.channelProfile = Constants.CHANNEL_PROFILE_LIVE_BROADCASTING;
// 发布麦克风采集的音频
options.publishMicrophoneTrack = true;
// 发布摄像头采集的视频
options.publishCameraTrack = true;
// 自动订阅所有音频流
options.autoSubscribeAudio = true;
// 自动订阅所有视频流
options.autoSubscribeVideo = true;

// 使用临时 Token 加入频道,自行指定用户 ID 并确保其在频道内的唯一性
mRtcEngine.joinChannel(token, channelName, 0, options);

后续步骤

本文的示例使用了临时 Token 加入频道。在测试或生产环境中,为保证通信安全,声网推荐从服务器中获取 Token,详情请参考使用 Token 鉴权。

参考信息

示例项目

声网提供了开源的实时音视频互动示例项目供你参考,你可以前往下载或查看其中的源代码。

常见问题

相关文档