Skip to main content

前提条件

  • 已完成 SDK 集成
  • 服务端可以签发加入频道的 Token
  • 应用已经申请摄像头和麦克风权限
如果你使用 rtc-swift 仓库自带 Demo,Token 获取逻辑可参考 Example/SRTCDemo/Sources/DemoApi.swift,默认会调用 /demo/token 等演示接口。

最小可运行示例

下面的示例覆盖最核心链路:初始化 SDK、加入频道、打开麦克风和摄像头、订阅远端视频、离开频道。

接入流程说明

1. 初始化 SRTC

SRTC 是整个 SDK 的主入口,负责:
  • 创建本地轨道
  • 解析 Token 并加入频道
  • 管理当前 Channel 生命周期
  • 配置日志级别和音频处理器

2. 调用 joinChannel

这里的第一性原理很简单:实时音视频的核心对象不是“房间页面”,而是“连接后的频道状态”。因此 joinChannel(...) 返回的不是布尔值,而是一个 Channel 对象,后续发布、订阅、消息、用户列表都围绕它展开。

3. 创建并发布本地轨道

音频与视频遵循同一条主线:
  • create...Track(...) 只负责创建轨道对象
  • startCapture() 才真正打开硬件采集
  • publishLocalTrack(...) 才会把数据发到频道
这三个步骤拆开以后,你可以更精确地控制“什么时候申请硬件资源”和“什么时候真正推流”。

4. 在回调里订阅远端视频

远端用户发流后,会通过 ChannelDelegatedidAddTrack 回调通知你。拿到 TrackInfo 以后:
  • subscribeRemoteVideoTrack(uid:trackId:) 发起订阅
  • 再通过 getRemoteTrack(uid:trackId:) 取得轨道对象
  • 将轨道传给 SRTCVideoViewVideoViewSRTCVideoRenderer

下一步