rtc
SDK使用
更新时间:2021/01/07 GMT+08:00
- 创建RTC引擎。
let engine = new HRTCEngine() engine.initialize(appId, domain)
- domain:域名。
- appId:应用ID,只有App ID相同的应用程序才能进入同一个房间进行互通。
- 加入房间。
HRTCUserInfo userInfo = {userId, userName,signature,ctime,role} try{ number ret = engine.joinRoom(roomId,userInfo) if(ret !== RTC_ERR_CODE_SUCCESS) { console.log(‘加入失败’) } } catch(e){ console.log(‘加入失败’) }
- userId:本端用户唯一标识
- userName:用户昵称,该昵称为UTF-8编码。
- signature:鉴权签名字串,应用开发者需要向远端服务器获取鉴权签名
- ctime:时间戳,单位秒。
- role:用户角色,可以标识媒体方向,取值如下:
- joiner:发布并观看。
- publisher:只发布不观看。
- player:只观看不发布。
- roomId:房间ID,房间唯一标识。
- 加入房间成功后, 设置本地视图。
number result = engine.on('joinedRoom', () => { number result = engine.setupLocalView(view, mode) })
- view:视图的DOM对象。
- mode:窗口显示模式,HRTCDisplayMode类型。
- 当收到服务器发送的“userJoined”事件通知时,可以订阅远端媒体。
engine.on('userJoined’, (roomId, userId, userName) => { number ret = engine.startRemoteStreamView(userId, view, disableAdjustRes) }
- userId:用户 ID。
- view:视图的DOM对象。
- disableAdjustRes:是否禁用下行分辨率自适应。
若不想观看对端,则可取消订阅对端音视频。
1
engine.stopRemoteStreamView(userId)
- 当远端离开房间,本端会收到“userOffline”事件通知,清理远端用户的资源。
1 2 3
this.client.on('userOffline', (roomId,userid, reason) => { // just do something… }
- roomId:房间ID。
- userId:对端用户ID。
- reason:离开原因。
- 本端离开房间。
1 2 3 4 5 6
try { this.engine.leaveRoom() console.log('离开房间成功') } catch(e) { console.log(‘离开房间失败’) throw e }
当音视频通话结束时,调用此接口离开房间。
至此,音视频通话基本流程可以成功运行。
父主题: Electron SDK
