智慧服务,成就美好体验 项目咨询

主页 > 服务与支持 > 开发平台 > 客户端SDK参考 > Web SDK > 接口参考 音视频呼叫

入门使用

音视频呼叫

更新时间:2019-11-20

接口名称

接口描述

getCallHandler

获取呼叫对象。

makeCall

发起一路呼叫。

answerCall

应答或拒绝呼叫。

hangup

主动挂断呼叫。

sendDTMF

在通话中发送二次拨号信息,每调用一次发送一次信号。

switchAudioCall

音视频通话相互转换。

answerSwitch

接受或拒绝音频转视频请求。

transfer2Conf

两方通话转多方会议。

getMediaDevice

获取指定媒体类型的设备序号列表。

setMediaDevice

设置指定媒体类型的设备的序号。

setVoiceVol

设置麦克或扬声器的音量。

getVoiceVol

获取麦克或扬声器音量。

startPlayMedia

播放媒体铃声。

stopPlayMedia

停止播放媒体铃声。

getCallStatisticInfo

获取呼叫统计信息。

getCallHandler

接口描述

获取呼叫对象。

注意事项

无。

方法定义

getCallHandler(): any
 

参数描述

无。

返回值

类型

描述

any

Call对象。

代码示例

var cloudecGetCallHandler = function () {      
    var call= client.getCallHandler();
    if (call== null) { 
     return;
    }
 }
 

makeCall

接口描述

发起一路呼叫。

注意事项

无。

方法定义

makeCall(calleeNumber: string, isVideo:boolean, callback: Function):void
 

参数描述

参数

是否必须

类型

描述

calleeNumber

string

被叫号码,最大长度127字节。

isVideo

boolean

是否为视频呼叫。

  • true:视频呼叫
  • false:音频呼叫

callback

Function

回调函数,返回操作结果。

返回值

无。

代码示例

function makeCall(){
    var isVideoCall = 0;
    var calleeNum = document.getElementById("callee_num").value;
    if(document.getElementById("isVideoCall").checked)
    {
        isVideoCall = 1;
    }

    client.makeCall(calleeNum, isVideoCall,function(data){
	if(data.result){
	    document.getElementById("callState").innerHTML = "call state: make call";
	}
    });  
}
 

answerCall

接口描述

应答或拒绝呼叫。

注意事项

需在来电事件之后调用,否则失败。

方法定义

answerCall(accept:boolean, isVideo:boolean):void
 

参数描述

参数

是否必须

类型

描述

accept

boolean

是否应答呼叫。

  • true:应答
  • false:拒绝

isVideo

boolean

是否视频接听。

  • true:视频接听
  • false:音频接听

返回值

无。

代码示例

function answerCall(accept){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    var isVideo = document.getElementById("isVideoCall").checked;
    client.answerCall(accept, isVideo);
}
 

hangup

接口描述

主动挂断呼叫。

注意事项

通话双方均可以调用此接口挂断呼叫。

方法定义

hangup():void
 

参数描述

无。

返回值

无。

代码示例

function hangup(){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    client.hangup();
}
 

sendDTMF

接口描述

一些业务场景中,用户需要通过终端按键与网络进行交互,如充值、拨打总机后再拨打分机号码、拨打客服中心号码等。本接口用于在通话中发送二次拨号信息,每调用一次发送一次信号。

注意事项

  1. 处于通话中才可以发送二次拨号信息。
  2. JS SDK不提供DTMF按键音功能。为了实现更友好的最终用户体验,UI应同步调用SDK提供的媒体播放接口或系统提供的播放接口,实现播放DTMF按键音。

方法定义

sendDTMF(dtmfNo: string):void
 

参数描述

参数

是否必须

类型

描述

dtmfNo

string

DTMF键值,取值范围0~16。

返回值

无。

代码示例

function DTMF(dtmfNo){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    client.sendDTMF(dtmfNo);
}
 

switchAudioCall

接口描述

音视频通话相互转换。

注意事项

处于通话中才可以调用此接口。

方法定义

switchAudioCall(toAudioCall:boolean):void
 

参数描述

参数

是否必须

类型

描述

toAudioCall

boolean

音视频转换。

  • true:视频转音频
  • false:音频转视频

返回值

无。

代码示例

function addVideo(){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    client.switchAudioCall(false);	  
}

function delVideo(){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    client.switchAudioCall(true);	  
}
 

answerSwitch

接口描述

接受或拒绝音频转视频请求。

注意事项

处于通话中才可以调用此接口。

方法定义

answerSwitch(accept:boolean):void
 

参数描述

参数

是否必须

类型

描述

accept

boolean

是否接受音频转视频。

  • true:接受
  • false:拒绝

返回值

无。

代码示例

function replyAddVideo(accept){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }
    client.answerSwitch(accept);  
}
 

transfer2Conf

接口描述

两方通话转多方会议。

注意事项

无。

方法定义

transfer2Conf(confParam: EC_InstanceConfParam):void
 

参数描述

参数

是否必须

类型

描述

confParam

EC_InstanceConfParam

会议参数。

返回值

无。

代码示例

function transfer2Conf(){
    var call = client.getCallHandler();
    if (call == null) {
	return;
    }

    var memberList = document.getElementById("memberList").value;
    if(memberList!=undefined && memberList!=null && memberList!=""){
	var memberListArr = memberList.split(",");
	var memberListTemp = new Array();
	for (var i = 0; i < memberListArr.length; i++) {
	    memberListTemp[i] = { number: memberListArr[i], name: "", smsPhone: "", email: "", autoInvite: 1, role: 0,extensions: "" };
	}
	transfer2ConfParam = { attendees: memberListTemp }	
    }else{
	transfer2ConfParam=null;
    }

    client.transfer2Conf(transfer2ConfParam);	
}
 

getMediaDevice

接口描述

获取指定媒体类型的设备序号列表。

注意事项

无。

方法定义

getMediaDevice(deviceType: number, callback: Function): void
 

参数描述

参数

是否必须

类型

描述

deviceType

number

设备类型。

0:麦克

1:扬声器

2:摄像头

callback

Function

回调函数,获取媒体设备返回结果。失败提示相应错误信息请参考EC_ErrorInfo,成功返回的结果参考EC_MediaDevices

返回值

无。

代码示例

client.getMediaDevice(2, function (data)  {
if (data.info != null) {
        for (var i = 0; i < data.info.length; i++) {
            console.log("camera device:" + data.info[i].name));
        }
    }
});
 

setMediaDevice

接口描述

设置指定媒体类型的设备的序号。

注意事项

无。

方法定义

setMediaDevice(deviceType: number, index: number): void
 

参数描述

参数

是否必须

类型

描述

deviceType

number

设备类型。

0:麦克

1:扬声器

2:摄像头

index

number

序号,来自于getMediaDevice的查询结果。

返回值

无。

代码示例

var micSel = document.getElementById("MICDevice");
var selIndex = micSel.selectedIndex;
if (selIndex !== -1) {
    var micIndex = micSel.options[selIndex].value;
    client.setMediaDevice(0, parseInt(micIndex));
}
 

setVoiceVol

接口描述

设置麦克或扬声器的音量。

注意事项

调用后需要切换UI界面。

方法定义

setVoiceVol(deviceType: number, value: number): void
 

参数描述

参数

是否必须

类型

描述

deviceType

number

设备类型。

0:麦克

1:扬声器

value

number

音量值,取值范围[0,100]。

返回值

无。

代码示例

var micvol = document.getElementById("MICVol");
client.setVoiceVol(0, parseInt(micvol.value));
 

getVoiceVol

接口描述

获取麦克或扬声器音量。

注意事项

必须先通过getMediaDevice确认是否有麦克或扬声器设备,否则报错。

方法定义

getVoiceVol(deviceType: number, callback: Function): void
 

参数描述

参数

是否必须

类型

描述

deviceType

number

设备类型。

0:麦克

1:扬声器

callback

Function

回调函数,返回麦克或扬声器音量。

返回值

无。

代码示例

client.getVoiceVol(1, function (data)  {
    speakervol.value = data.info;
})
 

startPlayMedia

接口描述

播放媒体铃声。

注意事项

无。

方法定义

startPlayMedia(loops:number, playFile:string, callback: Function):void
 

参数描述

参数

是否必须

类型

描述

loops

number

循环播放次数(0则表示一直循环)。

playFile

string

播放文件的路径(若填写相对路径,则该路径的起始目录为CloudLinkMeetingDeamon安装目录),最大长度127字节。

callback

Function

回调函数,返回操作结果。

返回值

无。

代码示例

var playHandle;
function startPlayMedia(){
	var mediaFilePath = document.getElementById("media_file_path").value;
	client.startPlayMedia(0, mediaFilePath,function(data){
		if(data.result){
			 playHandle = data.info.playHandle;
		}
	});	
}
 

stopPlayMedia

接口描述

停止播放媒体铃声。

注意事项

有铃声正在播放才可调用此接口,否则报错。

方法定义

stopPlayMedia(handle:number):void
 

参数描述

参数

是否必须

类型

描述

handle

number

停止播放媒体铃声的句柄。

返回值

无。

代码示例

function stopPlayMedia(){
    client.stopPlayMedia(playHandle);	
}
 

getCallStatisticInfo

接口描述

获取呼叫统计信息。

注意事项

无。

方法定义

getCallStatisticInfo(callback: Function) :void
 

参数描述

参数

是否必须

类型

描述

callback

Function

回调函数,成功返回呼叫统计信息EC_CallStatisticInfo,失败返回错误信息。

返回值

无。

代码示例

function getCallStatisticInfo(){
	client.getCallStatisticInfo(function(data){
		console.log(JSON.stringify(data));
	});
}