You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
实现音视频通话
抖音小游戏(Beta)
复制全文
下载 pdf
抖音小游戏(Beta)

火山 RTC 抖音小游戏处于 Beta 内测阶段,请通过 RTC 工单 咨询。

你可以使用抖音小游戏中提供的 RTC 能力快速构建你的小程序,实现基本实时语音通话;你也能通过阅读代码,了解语音通话的最佳实践。

前提条件

实现语音通话

基础音视频通话 API 时序图

实现流程

1.(可选)创建用户界面

根据场景需要,为你的项目创建音视频通话的用户界面。我们建议添加以下元素:

  • 房间ID
  • 用户 ID
  • 加入/离开房间按钮

2. 引入命名空间

在用到 SDK API 的文件中引入命名空间。

using StarkSDKSpace;

3. 获取引擎 GetRtcEngine

调用 GetRtcEngine 接口,获取一个引擎示例,以使用 RTC 提供的各种音视频能力。
你需要在该方法中传入以下参数:

参数名类型说明
appIdstring每个应用的唯一标识符。只有使用相同的 appId 生成的实例,才能够进行音视频通信。
RtcEngine = StarkSDK.API.GetRTCEngineManager().GetRtcEngine("appId");

4. 注册RTC回调事件

RtcEngine.OnJoinChannelSuccessEvent += OnJoinChannelSuccess;
RtcEngine.OnUserJoinedEvent += OnUserJoined;
RtcEngine.OnUserOfflineEvent += OnUserOffline;
RtcEngine.OnWarningEvent += OnWarning;
RtcEngine.OnErrorEvent += OnError;

5. 加入房间 JoinChannel

调用 JoinChannel 方法创建/加入房间。
你需要在该方法中传入以下参数:

参数参数类型参数详情。

channelId

string

加入的房间 ID。
房间 ID 为长度在 128 字节以内的非空字符串,支持以下字符集范围:
1. 26 个大写字母 A ~ Z 。
2. 26 个小写字母 a ~ z 。
3. 10 个数字 0 ~ 9 。
4. 下划线 "_",at 符 "@",减号 "-"。

uidstring加入语音频道用户的唯一标识
accessTokenstring动态密钥。用于对进房用户进行鉴权验证。 进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 使用不同 AppID 的 App 是不能互通的。 请务必保证生成 Token 使用的 AppID 和创建引擎时使用的 AppID 相同,否则会导致加入房间失败。
successAction接口调用成功回调
failAction<int, string>接口调用失败回调
public  abstract  void JoinChannel (
    string channelId,  
    string uid,  
    string accessToken,  
    Action success = null,  
    Action<int, string> fail = null);

6. 开始音频采集和发送

进入房间后,你需要开启音频采集和音频流发送,以在通话中使用音频功能。

// 开启音频采集
RtcEngine.EnableLocalAudio();

// 开启音频发送
RtcEngine.UnMuteLocalAudioStream();

7. 离开房间 LeaveChannel

在结束通话等场景下,调用 LeaveChannel 离开房间,结束通话过程,释放所有通话相关的资源。

RtcEngine.LeaveChannel();

8. 销毁引擎 Destroy

在 RTC 引擎实例相关的业务场景全部结束后,你可调用 Destroy 销毁由 GetRtcEngine 所创建引擎实例,并释放所有相关资源。

RtcEngine.Destroy();

至此,我们实现了基本的音视频通话。

运行和发布

参看 StarkContainer 游戏发布

后续步骤

在实现音视频通话后,如遇无声音、无画面、视频卡顿等问题时,您可以使用诊断工具快速排查和定位异常房间及用户,并获取异常根因分析、处理建议、分析报告等。

最近更新时间:2025.05.15 11:34:18
这个页面对您有帮助吗?
有用
有用
无用
无用