基础库 v3.200.106 起支持,默认为同层渲染。
创新互联建站主营德江网站建设的网络公司,主营网站建设方案,成都app软件开发,德江h5小程序制作搭建,德江网站营销推广欢迎德江等地区企业咨询
解释:实时音视频 RTC 房间,内部由多个 rtc-room-item 组件。该组件还提供丰富的 API 来控制登录、退出房间,发布 / 取消发布本地流,订阅 / 取消订阅远端流,控制远端流音视频等,详见 swan.createRtcRomContext 。只针对以下一级类目及其二级类目开放,详见支持服务类目。需要先通过类目审核,再在小程序管理后台,“开发管理 -> 功能管理”页面的“实时音视频通话”模块中自助开通该组件权限,详见接入流程。
Web 态说明:Web 态使用降级方案支持 rtc 实时音视频。设置 rtc-room 组件的相关属性和方法无效。
支持服务类目
| 一级类目 | |||||||
|---|---|---|---|---|---|---|---|
| 快递业与邮政 | 教育 | 政务民生 | 生活 | 交通 | 房地产 | IT 科技 | 旅行 |
| 时政新闻 | 娱乐 | 商家自营 | 电商 | 商业服务 | 公益 | 汽车 | 健康 |
接入流程
1.【小程序】支持在“开发者平台 -> 开发管理 -> 功能管理 -> 实时音视频通话”开通使用。
当该小程序类目不属于上述类目时,暂不支持开通该服务,支持服务类目见文中支持服务类目。
2. 【小程序】符合类目要求时,点击开通后引导进入智能云平台进行登录。
3. 注册完成后进“云资源访问授权页面”,点击授权后进行实名认证判断:
3.1 当实名认证已完成后,则跳转至小程序开发者平台,表示开通完成;
3.2 当实名认证未完成时,则跳转至实名认证页面进行认证,按照页面指引进行认证。
认证申请提交后等待审核结果,预计半小时左右。
(1)审核通过后智能云短信通知,重新打开小程序开发者平台,表示开通完成。
(2)审核未通过后智能云短信通知,重新打开小程序开发者平台,表示未审核成功,点击『立即认证』查看认证失败原因并重新认证。
4. 在开发者平台点击『实时音视频通话』进入智能云 RTC 控制台,创建应用获取 SDKAppID ,按照操作指南进行开发。
5. 开发完成后可在小程序平台进行 RTC 更多操作和查看:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 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 | 否 | 房间状态变化事件,参考下方状态码, | ||
binderror | Eventhandle | 否 | 错误事件。参考下方错误码, |
| 值 | 说明 |
|---|---|
| front | 前置摄像头 |
| back | 后置摄像头 |
| 值 | 说明 |
|---|---|
| auto | 前置摄像头镜像,后置摄像头不镜像(系统相机的表现) |
| enable | 前置摄像头和后置摄像头都镜像 |
| disable | 前置摄像头和后置摄像头都不镜像 |
| 值 | 说明 |
|---|---|
| speaker | 扬声器 |
| ear | 听筒 |
| code | msg | userInfo | 说明 | 最低版本 |
|---|---|---|---|---|
| 1001 | LOCAL_JOIN | { userId, displayName } | 成功进入房间 | 3.200.106 |
| 1002 | REMOTE_USER_JOIN | { userId, displayName } | 远端用户进入房间 | 3.200.106 |
| 1003 | REMOTE_USER_LEAVE | { userId, displayName } | 远端用户离开房间 | 3.200.106 |
| 1004 | REMOTE_USER_KICKOUT | { userId } | 有成员被踢出房间 | 3.250.12 |
| 2001 | REMOTE_STREAM_ADD | { userId, displayName } | 远端用户发布音视频流 | 3.200.106 |
| 3002 | REMOTE_STREAM_REMOVE | { userId, displayName } | 远端用户取消发布音视频流 | 3.200.106 |
| 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 | 本地发布流失败 |
跳转编辑工具
在开发者工具中打开
在 WEB IDE 中打开
扫码体验
代码示例
请使用百度APP扫码
id="doubleRoom"class="rtc-room"enable-camera="{{enableCamera}}"enable-auto-focus="{{enableAutoFocus}}"enable-zoom="{{enableZoom}}"device-position="{{devicePosition}}"enable-mic="{{enableMic}}"enable-agc="{{enableAgc}}"enable-ans="{{enableAns}}"bitrate="{{bitrate}}"video-width="{{videoWidth}}"video-height="{{videoHeight}}"enable-remote-mirror="{{enableRemoteMirror}}"local-mirror="{{localMirror}}"sound-mode="{{soundMode}}"bindstatechange="handleStateChange"binderror="handleError">id="localView"type="local"user-id="{{localUserId}}"data-key="local"class="{{isLocalMainView ? 'main-view' : 'small-view'}}"bindtap="toggleMainView">src="https://b.bdstatic.com/searchbox/icms/searchbox/img/loading-icon.png"class="rotate-img">等待接听... class="camera-off-image"src="https://b.bdstatic.com/searchbox/icms/searchbox/img/off-camera.png">本地摄像头未打开 id="remoteView"s-if="streamList.length !== 0"type="remote"user-id="{{streamList[0].userId}}"data-key="remote"class="{{isLocalMainView ? 'small-view' : 'main-view'}}"bindtap="toggleMainView">class="btn-image"src="{{enableMic? 'https://b.bdstatic.com/searchbox/icms/searchbox/img/audio-off.png': 'https://b.bdstatic.com/searchbox/icms/searchbox/img/audio-on.png'}} ">class="btn-image"src="{{soundMode === 'ear'? 'https://b.bdstatic.com/searchbox/icms/searchbox/img/speaker-off.png': 'https://b.bdstatic.com/searchbox/icms/searchbox/img/speaker-on.png'}} ">class="btn-image"src="https://b.bdstatic.com/searchbox/icms/searchbox/img/hangup.png">class="btn-image"src="{{enableCamera? 'https://b.bdstatic.com/searchbox/icms/searchbox/img/camera-off.png': 'https://b.bdstatic.com/searchbox/icms/searchbox/img/camera-on.png'}} ">class="btn-image"src="https://b.bdstatic.com/searchbox/icms/searchbox/img/switch.png">