阅读(487) (10)

百度智能小程序 rtc实时音视频通信房间

2020-08-14 14:21:16 更新

rtc 实时音视频通信房间

解释:实时音视频 RTC 房间,内部由多个 rtc-room-item 组件,基础库 v3.200.1 起支持,默认为 同层渲染。rtc-room 组件还提供丰富的 api 来控制登录、退出房间,发布 / 取消发布本地流,订阅 / 取消订阅远端流,控制远端流音视频等,详见 swan.createRtcRomContext 。只针对以下一级类目及其二级类目开放。需要先通过类目审核,再在小程序管理后台,“开发管理-功能管理”页面的“实时音视频通话”模块中自助开通该组件权限。

一级类目
快递业与邮政
教育
政务民生
生活
交通
房地产
IT科技
旅行
时政新闻
娱乐
商家自营
电商
商业服务
公益
汽车
健康

属性说明

属性名 类型 默认值 必填 说明 Web 态说明
id String rtc-room 组件的唯一标识符
enable-camera Boolean true 是否开启摄像头
enable-auto-focus Boolean true 是否开启摄像头自动对焦
enable-zoom Boolean false 是否支持双手滑动调整摄像头聚焦
device-position String front 设置前置还是后置摄像头,有效值:front、back
enable-mic Boolean true 是否开启麦克风
enable-agc Boolean false 是否开启音频自动增益
enable-ans Boolean false 是否开启音频噪声抑制
bitrate Number 900 最大码率
video-width Number 360 视频分辨率宽
video-height Number 640 视频分辨率高
enable-remote-mirror Boolean false 设置远端看到的画面的镜像效果,该属性的变化不会影响到本地画面,仅影响远端看到的画面效果。
local-mirror String auto 设置本地摄像头预览画面的镜像效果,有效值:auto、enable、disable。
sound-mode String speaker 设置声音输出方式,有效值:speaker、ear。
bindstatechange Eventhandle 房间状态变化事件,参考下方状态码表格,detail = { code, msg, userInfo }。
binderror Eventhandle 错误事件,参考下方错误码表格,detail = { errMsg, errCode }。

device-position 有效值

说明
front 前置摄像头
back 后置摄像头

local-mirror 有效值

说明
auto 前置摄像头镜像,后置摄像头不镜像(系统相机的表现)
enable 前置摄像头和后置摄像头都镜像
disable 前置摄像头和后置摄像头都不镜像

sound-mode 有效值

说明
speaker 扬声器
ear 听筒

bindstatechange 房间状态变化事件

code msg userInfo 说明
1001 LOCAL_JOIN { userId, displayName } 成功进入房间
1002 REMOTE_USER_JOIN { userId, displayName } 远端用户进入房间
1003 REMOTE_USER_LEAVE { userId, displayName } 远端用户离开房间
2001 REMOTE_STREAM_ADD { userId, displayName } 远端用户发布音视频流
3002 REMOTE_STREAM_REMOVE { userId, displayName } 远端用户取消发布音视频流

binderror 错误事件

errCode errMsg 说明
10001 internal error 内部错误
10002 network error 网络请求失败
10003 user deny 用户拒绝
10004 user not logged in 账号失效
10005 system deny 系统拒绝
20001 NO_SUCH_ROOM 房间不存在
20001 USERID_ALREADY_EXIST_ERROR 用户已存在
20001 login fail : execute fail 执行失败
20001 login fail : init rtc sdk fail 初始化 rtc sdk 失败
20001 login fail : so download failed so 下载失败
20001 login fail : so load failed so 加载失败
20001 login fail : error 登陆失败
20001 login fail : timeout 登陆超时
20002 ROOM_ALREADY_EXIST room 组件已经有房间在登陆
20003 DEVICE_IS_NOT_SUPPORTED 安卓 5.0 以下的设备不支持 rtc 功能
30001 ROOM_CONNECTION_LOST 与服务器连接丢失
30002 MEDIA_CONNECTION_LOST 媒体通道连接丢失
40001 OPEN_CAMERA_FAIL 相机打开失败
40002 REMOTE_ITEM_ALREADY_PLAYING rtc-room-item 已经被占用
40003 PUBLISH_FAIL 本地发布流失败

图片示例

代码示例

<view class="wrap">
    <rtc-room id="myRoom">
        <rtc-room-item
            type="local"
            userId="{{localUserId}}"
            class="local-view">
        </rtc-room-item>
        <rtc-room-item
            type="remote"
            userId="{{remoteUserId}}"
            class="remote-view">
        </rtc-room-item>
    </rtc-room>
</view>
<view class="wrap">
    <rtc-room id="myRoom">
        <rtc-room-item
            type="local"
            userId="{{localUserId}}"
            class="local-view">
        </rtc-room-item>
        <rtc-room-item
            type="remote"
            userId="{{remoteUserId}}"
            class="remote-view">
        </rtc-room-item>
    </rtc-room>
</view>