本文介绍如何使用声网 SDK 实现虚拟主播场景的重要功能。
参考下图,在你的项目中实现如下功能:
产品 | SDK 下载 | 集成文档 |
---|---|---|
声网 RTC (Real-time Communication) SDK | iOS 视频互动直播 SDK | 实现互动直播 |
声网 RTM (Real-time Messaging) SDK | iOS 云信令(原实时消息)SDK | 收发点对点消息和频道消息 |
第三方虚拟形象驱动 SDK | N/A | 参考第三方虚拟形象驱动 SDK 的集成文档 |
下图展示如何调用声网的 API 实现一个多人连麦直播场景。你可以参考如下 API 时序图进行相应的实现。
API | 实现功能 |
---|---|
initWithAppId | 创建并返回一个 RtmClient 实例。 |
loginByToken | 登录声网 RTM 系统。登录后你可以使用 RTM 的核心业务逻辑。 |
createChannelWithId | 创建声网 RTM 频道。 |
joinWithCompletion | 加入声网 RTM 频道。 |
sendMessage | 发送频道消息。成功发送后,频道内所有用户都能收到。 |
sendMessage | 发送点对点消息,可用于主播向观众发送上麦邀请;也可用于观众向主播发送上麦申请。 |
messageReceived | 收到频道消息回调。 |
messageReceived | 收到点对点消息回调。 |
leaveWithCompletion | 离开 RTM 频道。 |
logoutWithCompletion | 登出声网 RTM 系统。 |
API | 实现功能 |
---|---|
sharedEngineWithAppId | 初始化 AgoraRtcEngineKit 对象。 |
setChannelProfile | 设置频道场景。本场景中,我们将频道场景设为直播。 |
setClientRole | 设置直播场景下的用户角色。该方法可实现用户的上下麦。 |
enableVideo | 开启视频。 |
setupLocalVideo | 设置本地视图。房主或连麦主播需要调用该方法,才能在本地看到自己的画面。 |
joinChannelByToken | 加入 RTC 频道。 |
setupRemoteVideo | 设置远端视图。房主或连麦主播需要调用该方法,观众才能看到他们的画面。 |
leaveChannel | 离开 RTC 频道。 |
setVideoSource | 设置自定义视频源。 |
consumePixelBuffer | 接收 PixelBuffer 视频数据。 |
startPreview | 开启视频预览。 |
网络质量检测
使用 onRtcStats
回调,在你的项目中实现网络质量检测和报告功能。该回调统计当前通话数据,包括本地的数据发送和接收码率以及丢包率等。在通话或直播过程中每两秒触发一次。
耳返
调用 enableInEarMonitoring
方法开启主播的耳返功能。
混音及音效
加入频道后,调用 startAudioMixing
方法,可以播放音乐文件,实现播放背景音乐的功能。调用 playEffect
方法,播放音效文件,实现鼓掌、欢呼、尖叫等氛围音效果。