Skip to main content

快速开始

本文按“初始化 → 绑定回调 → 加入频道 → 发布本地媒体 → 订阅远端媒体 → 离会释放”的顺序,给出 Android SRTC SDK 的最小可用流程。 开始前请先完成以下准备:
  • 按照 集成 完成 Maven 仓库、SDK 依赖和基础环境配置。
  • 准备好服务端签发的 token,它是调用 join(...) 的必填参数。
  • 如果要打开摄像头、麦克风或屏幕共享,请在应用侧先处理好 Android 运行时权限。
  • 如果业务中需要管理扬声器、听筒、蓝牙耳机等输出设备,可继续参考 音频路由使用

Step 1:创建并初始化 RTCEngine

在调用任何频道、采集、发布、订阅相关接口前,先创建 RTCEngine 实例并调用 initSDK()
  • app:建议传 Application 实例。
  • enableLocalLog:是否启用本地日志,联调阶段建议开启。
  • localLogPath:日志目录;不传时使用 SDK 默认目录。
  • version:上层应用版本标识,建议写入 App 版本号,便于排查问题。
如果需要查看完整参数说明,可参考 RTCEngine

Step 2:绑定常见回调与媒体参数

建议在加入频道前就把回调绑定好,这样从 join(...) 开始产生的状态变化都能及时接收到。
常见回调建议重点关注:
  • RTCClientEvent.onJoinSucceed(...):以这个回调作为“真正入会成功”的依据。
  • RTCClientEvent.onRemoteUserJoin(...) / onRemoteUserLeave(...):维护成员列表。
  • RTCClientEvent.onStreamTrackAdd(...) / onStreamTrackRemove(...):维护远端轨道订阅与渲染。
  • RTCClientEvent.onDisconnected(...):处理不可恢复断连。
  • RTCMediaEvent.onVolumesReport(...):做说话人检测或音量展示。
更多回调定义可参考:

Step 3:加入频道

调用 join(...) 后,RTCResultListener.onSuccess() 只表示请求发送成功;是否真正加入频道,以 RTCClientEvent.onJoinSucceed(...) 回调为准。 options 为预留参数,当前版本未生效,传 null 即可。
远端媒体的订阅时机由业务层控制:在 onStreamTrackAdd(...) 中按需调用 subscribeRemoteTrack(...)(见 Step 5)。

Step 4:发布本地媒体

4.1 摄像头采集与发布

操作顺序建议固定为:
  1. 获取 LocalCameraTrack
  2. 绑定本地预览视图
  3. 调用 startCapture(...) 启动采集
  4. 在启动成功后调用 publishLocalVideo(...)
常见补充操作:
  • 切换前后摄像头:cameraTrack.switchCameraPosition(...)
  • 特殊设备方向校正:cameraTrack.setCameraAngleOffset(...)
详细说明可参考 LocalCameraTrack

4.2 麦克风采集与发布

麦克风轨道获取后,可以直接调用 publishLocalAudio(...) 发布本地音频。
其中:
  • TrackDesc.TRACK_AUDIO.value:表示按音频轨道发布。
  • micTrack.getVolume():可用于显示当前本地麦克风音量。
详细说明可参考 LocalMicTrack

4.3 屏幕共享(可选)

如果业务中需要共享屏幕,建议按下面顺序操作:
  1. 获取 LocalScreenTrack
  2. 设置 RTCScreenStateEvent
  3. 调用 request(...) 拉起系统录屏授权
  4. 在授权成功回调中调用 startCapture(...)
  5. 再调用 publishLocalVideo(...) 发布屏幕轨道
开始接入屏幕共享前,建议先确认 集成 中提到的前台服务、Manifest 合并等注意事项。接口细节可参考:

Step 5:订阅并播放远端媒体

推荐把远端视频处理拆成下面几个动作:
  1. onStreamTrackAdd(...) 中拿到 uidtrackIdtrackDesc
  2. getRemoteVideoTrack(uid, trackDesc) 获取轨道对象
  3. 先绑定远端渲染视图
  4. 再调用 subscribeRemoteTrack(uid, trackId, ...) 发起订阅
  5. onStreamTrackRemove(...) 中取消订阅并移除渲染视图
如果你使用的是远端合成音频,也可以直接播放混音轨道:
详细说明可参考:

Step 6:查询信息、离开频道并释放资源

离会前后,业务层通常会读取当前频道信息、当前用户信息和成员列表;当页面销毁或应用不再使用 RTC 能力时,记得调用 releaseSDK()
建议:
  • 页面退出时先 leave(),再根据生命周期决定是否 releaseSDK()
  • 如果你还初始化了音频路由管理器,离会或销毁时也要同步释放,具体可参考 音频路由使用

更多能力

本文只覆盖最小可跑通的主线能力。如果你还需要以下高级场景,可继续阅读对应文档: