火山 RTC 抖音小游戏处于 Beta 内测阶段,请通过 RTC 工单 咨询。
你可以使用抖音小游戏中提供的 RTC 能力快速构建你的小程序,实现基本实时语音通话;你也能通过阅读代码,了解语音通话的最佳实践。
在小程序开发者平台创建游戏。选择即玩 Unity&UE 小游戏。
如集成到已有 Unity 项目,跳过此步骤。
在 Unity 中,创建新项目。项目模板(Template)选择 2D
。
RTC 功能已集成在 Stark SDK Unity Tools 中。安装此插件。参考 StarkSDK 文档及安装 和 视频讲解。
根据场景需要,为你的项目创建音视频通话的用户界面。我们建议添加以下元素:
在用到 SDK API 的文件中引入命名空间。
using StarkSDKSpace;
调用 GetRtcEngine
接口,获取一个引擎示例,以使用 RTC 提供的各种音视频能力。
你需要在该方法中传入以下参数:
参数名 | 类型 | 说明 |
---|---|---|
appId | string | 每个应用的唯一标识符。只有使用相同的 appId 生成的实例,才能够进行音视频通信。 |
RtcEngine = StarkSDK.API.GetRTCEngineManager().GetRtcEngine("appId");
RtcEngine.OnJoinChannelSuccessEvent += OnJoinChannelSuccess; RtcEngine.OnUserJoinedEvent += OnUserJoined; RtcEngine.OnUserOfflineEvent += OnUserOffline; RtcEngine.OnWarningEvent += OnWarning; RtcEngine.OnErrorEvent += OnError;
调用 JoinChannel
方法创建/加入房间。
你需要在该方法中传入以下参数:
参数 | 参数类型 | 参数详情。 |
---|---|---|
channelId | string | 加入的房间 ID。 |
uid | string | 加入语音频道用户的唯一标识 |
accessToken | string | 动态密钥。用于对进房用户进行鉴权验证。 进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 使用不同 AppID 的 App 是不能互通的。 请务必保证生成 Token 使用的 AppID 和创建引擎时使用的 AppID 相同,否则会导致加入房间失败。 |
success | Action | 接口调用成功回调 |
fail | Action<int, string> | 接口调用失败回调 |
public abstract void JoinChannel ( string channelId, string uid, string accessToken, Action success = null, Action<int, string> fail = null);
进入房间后,你需要开启音频采集和音频流发送,以在通话中使用音频功能。
// 开启音频采集 RtcEngine.EnableLocalAudio(); // 开启音频发送 RtcEngine.UnMuteLocalAudioStream();
在结束通话等场景下,调用 LeaveChannel
离开房间,结束通话过程,释放所有通话相关的资源。
RtcEngine.LeaveChannel();
在 RTC 引擎实例相关的业务场景全部结束后,你可调用 Destroy
销毁由 GetRtcEngine
所创建引擎实例,并释放所有相关资源。
RtcEngine.Destroy();
至此,我们实现了基本的音视频通话。