Skip to main content

基本概念

  • 小程序音视频基于[live-pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html)``[live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html)实现
  • SRTC实例:通过new SRTC得到操作实例,绝大部分接口都通过该实例对外提供,所有事件都可通过srtc.onNotifyChannelEvent来监听。(如果你想同时加入多个频道,目前只能new多个实例来操作)
  • ChannelInfosrtc.join加入频道后的频道信息(业务上可自定义props扩展属性),可通过 srtc.getChannelInfo获得
  • UserInfo:频道内用户信息(包括自己与其他远端用户)(业务上可自定义props扩展属性),可通过srtc.getUserInfo(uid: string)获取频道单用户信息,也可通过srtc.getUsersInfo()获取频道所有在线用户信息
  • PusherOptions:对应live-pusher的组件属性,可用于数据绑定。本地流发布、开关摄像头、开关麦等都通过srtc.changePusherOptions来实现
  • RemoteTrack:远端流轨道,每一路音频、每一路视频,都是一个Track,一个用户可能有多个Track。提供rtmp_play属性用于live-player进行播放
远端流轨道(可订阅、可发布)包括: 远端频道混音流轨道:RemoteAudioMixTrack 远端用户音频流轨道:RemoteTrack 远端用户视频流轨道:RemoteTrack
  • TrackInfo:流轨道信息,(除desc轨道描述外,业务上还可自定义props扩展属性),归属于Track。

初始化SDK

加入频道

获取频道信息/用户信息/用户列表

推流live-pusher参数相关

打开、关闭麦克风

打开、关闭摄像头、切换前后置摄像头

监听用户进出及信息更新

监听自己信息被更新

你的信息可能被后台或管理员进行强制更新

订阅/取消订阅远端视频流

关于播放画面的旋转、镜像: 一般情况下推过来的流是没有角度,不需要做任何处理,但有些手机app推过来的视频流可能是需要做旋转、镜像的,如有实际需要,可按如下处理:
  • 首先设置css,live-player设置为绝对定位并撑满其父容器
  • 其次将live-player的style属性绑定为{{track.player_style}}
  • 最后在订阅流后(或者视图尺寸发生变化如屏幕旋转时),调用track.freshPlayerStyle(可以加延迟,必须等到已经将player渲染到视图后)

收全频道音频混音流

一般场景下,我们不需要单独收每一个远端用户的声音,而只用收全频道的混音流进行播放

开始重连/重连成功

当网络发生波动时,会触发重连开始事件,成功后会触发重连成功事件。ui上可对用户进行提示。

退出频道

退出分主动退出和被动(发生不可恢复错误时)退出