# 通话操作
本文将介绍视频客服可基于插件提供的通话操作能力实现的功能。
# 1. 通话保持/取回
通话内座席可发起保持通话的操作,保持通话之后座席和访客皆停发音视频数据,双方将互相听不到声音看不到视频画面。
该接口仅座席插件接口调用生效
var webPlugin = new WebPlugin();
/**
* @desc 保持/取回
* @interface Hold
* @param {boolean} holdState - true保持/false取回
*/
// 保持
webPlugin.SetHoldState(true)
// 取回
webPlugin.SetHoldState(false)
保持取回上报通知,该通知座席访客均可收到。
var webPlugin = new WebPlugin();
/**
* @desc 保持取回上报
* @param {Boolean} hold - true保持 false取回
*/
webPlugin.OnHeldNotify = function (hold) {
console.log('OnHeldNotify', hold);
};
# 2. 音视频切换
通话内座席与访客皆可发起音视频通话切换的操作,视频通话状态下座席访客互相可听到对方声音看到视频画面,语音通话状态下座席访客只能听到对方声音,看不到对方视频画面。
var webPlugin = new WebPlugin();
/**
* @desc 切换音视频通话
* @param {string} callType - 类型
* - Audio: 音频
* - Video: 视频
*/
//切换音频
webPlugin.TurnCallType("Audio");
//切换视频
webPlugin.TurnCallType("Video");
当通话类型发生变化,会触发 OnCallTypeTurnedNotify 回调:
var webPlugin = new WebPlugin();
/**
* @desc 音视频切换状态上报
* @param {String} content - 属性
*/
webPlugin.OnCallTypeTurnedNotify = function (callType) {
console.log('OnCallTypeTurnedNotify', callType);
};
# 3. SIP音视频切换
SIP通话中,如果需要切换SIP成员音视频通话类型,需要单独调用TurnCallTypeForSIP方法。如果切换普通成员需要调用TurnCallType。
var webPlugin = new WebPlugin();
/**
* @desc 切换音视频通话
* @param {string} callType - 类型
* - Audio: 音频
* - Video: 视频
*/
//切换音频
webPlugin.TurnCallTypeForSIP("Audio");
//切换视频
webPlugin.TurnCallTypeForSIP("Video");
当通话类型发生变化,会触发 OnCallTypeTurnedNotify 回调:
var webPlugin = new WebPlugin();
/**
* @desc sip通话时,sip音视频切换的结果通知。
* 1. 当本端调用TurnCallTypeForSIP时,收到协商结果为同意切换时会上报
* 2. 当收到sip音视频切换的请求,本端处理结果会上报
* @param {string} callType - 通话类型
* - Video 视频
* - Audio 音频
*/
webPlugin.OnSIPCallTypeTurnedNotify = function (callType) {
console.log('OnSIPCallTypeTurnedNotify', callType);
};
# 4. 获取RoomId
用户获取RoomId
var webPlugin = new WebPlugin();
/**
* @desc 获取RoomId
*/
webPlugin.GetRoomId();
获取获取RoomId结果通知
var webPlugin = new WebPlugin();
/**
* @desc 获取RoomId回调
* @param {String} roomId
*/
webPlugin.OnGetRoomId = function (roomId) {
console.log('OnGetRoomId', roomId);
};