Skip to main content
本文按“创建 Engine → 绑定回调 → 加入频道 → 启动采集并发布 → 订阅远端媒体 → 离会释放”的顺序,给出 Android SRTC SDK 的最小可用流程。 开始前请先完成以下准备:
  • 按照 集成 完成 Maven 仓库、SDK 依赖和基础环境配置。
  • 准备服务端签发的频道 token
  • 在应用侧申请摄像头和麦克风运行时权限。
  • 如需管理扬声器、听筒或蓝牙耳机等输出设备,请参考 音频路由使用

Step 1:创建并初始化 RTCEngine

RTCEngine.create(...) 必须传入 Engine 级错误监听器。它用于接收无法归入频道业务回调的错误,以及调用未开始频道等阻断错误;channelId 无法确定时为 null
完整参数说明见 RTCEngineRTCEngineEvent

Step 2:准备频道回调与媒体回调

每次 join(...) 都要传入该频道自己的 RTCClientEvent。只覆写少数事件时,建议继承 RTCClientSimpleEvent,避免直接实现完整接口。
所有频道级回调都会显式携带 channel,即使监听器只绑定在一个 RTCChannel 上,也应使用该参数进行日志和状态隔离。更多定义见 RTCClientEventRTCMediaEvent

Step 3:加入频道

join(...) 会同步返回 RTCChannel?
  • 返回非空仅表示 SDK 已接受请求并创建频道句柄,不代表已经入会成功。
  • 真正结果以 onJoinSucceed(...)onJoinFailed(...) 为准。
  • SDK 未初始化或已经释放时会同步抛出 SdkNotInitializedException
第一条 join 创建默认频道,RTCEngine 上的发布、订阅、查询和 leave() 等扁平接口都作用于它。SDK 也支持同时加入多个频道;快速开始只讲单频道流程,具体接入见 多频道

Step 4:启动本地采集并发布

以下发布流程应在 onJoinSucceed(...) 之后执行。采集与发布是两个独立动作:先显式启动本地采集,再把同一个本地轨道发布到频道。取消发布不会自动停止共享采集;不再需要设备时还要调用轨道的 stopCapture()

4.1 摄像头采集与发布

详细说明见 LocalCameraTrack

4.2 麦克风采集与发布

麦克风采集模块已与入会、发布解耦。publishLocalAudio(...) 不再负责打开麦克风,必须先调用 LocalMicTrack.startCapture(...)
显式采集也可以脱离频道使用。先设置 setRtcLocalAudioFrameEvent(...),再调用 micTrack.startCapture(...),即可接收本地 PCM 数据用于录制或处理;仅注册回调不会自动打开麦克风。详见 LocalMicTrackRTCEngine

4.3 屏幕共享(可选)

接口细节见 LocalScreenTrack

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

收到 onStreamTrackAdd(...) 后,从默认频道获取远端轨道、绑定渲染 View,再发起订阅:
详细说明见 RemoteVideoTrack

Step 6:离开频道并释放资源

releaseSDK() 会释放本轮初始化周期中的全部频道与共享资源;后续仍可重新调用 initSDK()

更多能力