重要参数

本文主要介绍发起视频通话(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 地址不变:wss://cn-hangzhou-mrtc.cloud.alipay.com/ws

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

是否显示(配合 enableCamera 用于只想推音频的场景)。

pusher_isMini

boolean

是否以小窗显示(默认 false,与 player.isMini 互斥,只能一个为 true)。

player_visible

boolean

是否显示。

player_isMini

boolean

是否以小窗显示(默认 true,注意与 pusher.isMini 互斥,只能一个为 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() //切换前后摄像头