本文主要介绍发起视频通话(Start) 和加入视频通话(Join)及组件需要传入的 Config 参数。
基础参数
参数名称 | 参数类型 | 是否必填 | 说明 |
userId | String | 是 | 用户 ID。 |
appId | String | 是 | 小程序 ID。 |
roomId | String | 否 | 房间 ID。 |
token | String | 否 | 房间 token。 |
resolution | int | 否 | 视频的清晰度,0(640 * 360), 1(960 * 540), 2(1280 * 720),默认为 2。 |
fps | int | 否 | 视频帧率,15 / 30,默认为 30。 |
streamInfo
使用不同通道时需传入不同的参数,目前只支持 mPaaS 通道,下表列出了在 mPaaS 通道下的相关参数。
通道 | 参数名称 | 参数类型 | 是否必填 | 说明 |
mPaaS | signature | String | 是 | 蚂蚁域内和 mPaaS 必选。 |
serverUrl | String | 是 | 服务器 URL。 mPaaS 通道下,serverUrl 地址不变: | |
workspaceId | String | 是 | 使用 mPaaS 时必选。 | |
bizName | String | 是 | 使用 mPaaS 时必选。 | |
subBiz | String | 是 | 使用 mPaaS 时必选。 |
界面显示
参数名称 | 参数类型 | 是否必填 | 说明 |
displayInfo | String | 否 | 界面显示用到的配置,可选。 |
showFullScreen | boolean | 否 | 用于 pc 共享画面时的全画面显示(默认为 false 沉浸式 true 显示全部画面) |
callPage_visible | boolean | 否 | 接听页开关(默认为 true 开启接听页 false 关闭显示) |
calling_information | String | 否 | 接听界面显示的文本。 |
end_information | String | 否 | 挂断界面显示的文本。 |
pusher_visible | boolean | 否 | 是否显示(配合 |
pusher_isMini | boolean | 否 | 是否以小窗显示(默认 false,与 |
player_visible | boolean | 否 | 是否显示。 |
player_isMini | boolean | 否 | 是否以小窗显示(默认 true,注意与 |
hangup_visible | boolean | 否 | 是否显示关闭按钮(默认 true,只有值为 false 时隐藏)。 |
mute_visible | boolean | 否 | 是否显示静音按钮(默认 true,只有值为 false 时隐藏)。 |
screenshot_visible | boolean | 否 | 是否显示截屏按钮(默认 true,只有值为 false 时隐藏)。 |
enableCamera_visible | boolean | 否 | 是否显示开启摄像头按钮(默认 true,只有值为 false 时隐藏)。 |
switchCamera_visible | boolean | 否 | 是否显示切换摄像头按钮(默认 true,只有值为 false 时隐藏)。 |
switchScreenCapture_visible | boolean | 否 | 是否显示投屏按钮(默认 true,只有值为 false 时隐藏) |
users_visible | boolean | 否 | 是否显示用户列表(默认 true,只有值为 false 时隐藏)。 |
users_name | string | 是 | 界面上显示的用户名称(比外层的 users 优先级高)。 |
users_avatar | string | 是 | 界面上显示的用户头像(比外层的 users 优先级高)。 |
users_name | string | 否 | 界面上显示的用户名称。 |
users_avatar | string | 否 | 界面上显示的用户头像。 |
controlInfo_enableCamera | boolean | 否 | 启动时是否打开摄像头。 |
Config 参数
{
userId, // 用户 ID
appId, // 小程序 ID
roomId?, // 房间 ID,创建不需要,加入可选
token?, // 房间 token,创建不需要,加入必选
resolution?: 2, // 视频的清晰度,0(640 * 360), 1(960 * 540), 2(1280 * 720),默认为 2
fps?: 30, // 视频帧率,15 / 30,默认为 30
streamInfo: {
// 根据不同通道传入不同的参数,目前只支持 mPaaS 通道
// - mPaaS
// - signature
// - serverUrl(wss://cn-hangzhou-mrtc.cloud.alipay.com/ws)
// - workspaceId
// - bizName
// - subBiz
// 签名
signature, // 蚂蚁域内和 mPaaS 必选
// mPaaS
bizName: '', // 使用 mPaaS 时必选
subBiz: '', // 使用 mPaaS 时必选
workspaceId: '', // 使用 mPaaS 时必选
serverUrl: 'wss://cn-hangzhou-mrtc.cloud.alipay.com/ws'
// mPaaS 通道下,上面这个 serverUrl 地址不变
},
displayInfo?: { // 界面显示用到的配置,可选
showFullScreen?: { // 全画面显示
visible: false // 默认为 false 沉浸式 true 显示全部画面
},
callPage?: { // 接听页开关
visible: true // 默认为 true 开启接听页 false 关闭显示
},
calling?: {
information?: string // 接听界面显示的文本
},
end?: {
information?: string // 挂断界面显示的文本
},
answer?: {
pusher?: {
visible?: boolean // 是否显示(配合 enableCamera 用于只想推音频的场景)
isMini?: boolean // 是否以小窗显示(默认 false,与 player.isMini 互斥,只能一个为 true)
},
player?: {
visible?: boolean // 是否显示
isMini?: boolean // 是否以小窗显示(默认 true,注意与 pusher.isMini 互斥,只能一个为 true)
},
actions?: {
hangup?: {
visible?: boolean // 是否显示关闭按钮(默认 true,只有值为 false 时隐藏)
},
mute?: {
// ! 表示的是采集端的声音采集,不是手机的音量
visible?: boolean // 是否显示静音按钮(默认 true,只有值为 false 时隐藏)
},
screenshot?: {
visible?: boolean // 是否显示截屏按钮(默认 true,只有值为 false 时隐藏)
},
enableCamera?: {
visible?: boolean // 是否显示开启摄像头按钮(默认 true,只有值为 false 时隐藏)
},
switchCamera?: {
visible?: boolean // 是否显示切换摄像头按钮(默认 true,只有值为 false 时隐藏)
},
switchScreenCapture?:{
visible?: boolean // 是否显示投屏按钮(默认 true,只有值为 false 时隐藏)
}
},
users?: {
visible?: boolean, // 是否显示用户列表(默认 true,只有值为 false 时隐藏)
// 用户配置(比外层的 users 优先级高)
config: [userId]: {
name: string // 界面上显示的用户名称
avatar: string // 界面上显示的用户头像
}
}
},
users?: {
[userId]: {
name: string // 界面上显示的用户名称
avatar: string // 界面上显示的用户头像
}
}
},
controlInfo?: {
enableCamera?: boolean // 启动时是否打开摄像头
},
extraInfo?: {}
}
rtc 接口
// 引入插件
const { rtc } = requirePlugin('rtc');
rtc.disableCamera() // 关闭摄像头
rtc.enableCamera() // 开启摄像头
rtc.hangup() // 挂断
rtc.mute() // 静音
rtc.unmute() // 取消静音
rtc.setFullScreen(true/false) // 切换全画面显示
rtc.snapshot() // 截屏
rtc.startScreenCapture() // 开始投屏
rtc.stopScreenCapture() // 结束投屏
rtc.switchCamera() //切换前后摄像头