更新时间:2022-07-29 GMT+08:00
分享

SDK使用

  1. 检测浏览器是否兼容SDK。
try { 
  let isMatch = await ISDPRTC.checkSystemRequirements()
  if(isMatch) {
    console.log(‘兼容’)
  }
 }  ecatch(error) {
  console.log(‘不兼容’)
}

2.创建客户端。

let config = {appId, domain}
let client = ISDPRTC.createClient(config)

domain:域名。

appId:应用ID,只有App ID相同的应用程序才能进入同一个房间进行互通。

说明:

domain和appId请提交工单申请。

3.加入房间。

JoinConfig option = {userId:userId, signature:signature, ctime:ctime, host:host, port:port, role:role, 驼峰结构: userName }
async joinRoom() {
   try{
     await client.join(channel, option)
     console.log(‘加入成功’)
   } catch(e){
     console.log(‘加入失败’)
   }
}
  • userId:本端用户唯一标识。
  • signature:鉴权签名字串,应用开发者需要向远端服务器获取鉴权签名。

    说明:远端服务器需要您自行部署,具体请参见接入鉴权。

  • host: 媒体服务器接入IP
  • port: 媒体服务器接入端口
  • userRole: 角色,可以标识媒体方向,取值如下:

    1:joiner。

    0:publisher。

  • channel:房间ID,房间唯一标识。

加入房间成功后,对端会收到“peer-join”事件。

4.创建本地流并发布。

Stream stream = ISDPRTC.createStream({audio:true,microphoneId:xxx,video:true,cameraId:yyy})
stream.initialize().then(() => {
  client.publish(stream)
  stream.play(elementId,{muted:true})   //播放本地流
}) 

5.当收到服务器发送的“stream-added”事件通知时,可以订阅远端媒体。

client.on('stream-added’, (event) => {
  const stream = event.stream
  client.subscribe(stream,{video:true, audio:true})
}

订阅完成之后,本端会收到“stream-subscribed”事件通知,可设置对端窗口,播放对端音视频。

client.on('stream-subscribed', (event) => {
   const stream = event.stream
   stream.play(elementId, { objectFit: contain, muted: true})
}
  • elementId:HTML <div>标签 ID。
  • 播放选项参数:

objectFit:必选,string类型,取值包括contain、cover和fill。

muted:可选,boolean类型,true表示静音,false表示不静音,默认值为false。

若是不想观看对端,则可取消订阅对端音视频:

client.unsubscribe(stream)

6.当远端离开房间,本端会收到“peer-leave”事件通知,清理远端用户的资源。

client.on('peer-leave', (event) => {
   // just do something…
}

event.userId:对端用户标识,通过监听“peer-leave”事件获得。

远端用户退出,本端同时会收到“stream-removed”事件通知,可在事件处理函数中,关掉视频窗口。

client.on('stream-removed', (event) => {
   event.stream.close()
}

通过stream对象调用close()方法,该方法会移除之前用“play”创建的video标签元素并关闭摄像头、麦克风。

7.本端离开房间。

client.leave()

当音视频通话结束时,调用此接口离开房间。

至此,音视频通话基本流程可以成功运行。

相关文档