102 lines
3.2 KiB
JavaScript
102 lines
3.2 KiB
JavaScript
import { layuiObj } from "./index.js";
|
||
import { sosSdk } from "./sosVideoAndAudio.js";
|
||
var sosAudioIndex=null;
|
||
var currentSosAudio=null;
|
||
function popSosAudio(obj){
|
||
currentSosAudio=JSON.parse(JSON.stringify(obj));
|
||
sosAudioIndex=layuiObj["layer"].open({
|
||
type: 1,
|
||
title: false, //不显示标题栏
|
||
closeBtn: false,
|
||
area: ['446px', 'auto'],
|
||
shade: 0.4,
|
||
id: new Date().getTime(), //设定一个id,防止重复弹出
|
||
btnAlign: 'c',
|
||
move:'.layui-move',
|
||
moveType: 1, //拖拽模式,0或者1
|
||
content:`<div class="popWindows">
|
||
<div class="popInfoContent">
|
||
<div class="popInfoTitle">
|
||
<span class="layui-move">${currentSosAudio["pointAddress"]}</span>
|
||
<img src="./pages/cmddispatch/image/closeInfoWindow.png">
|
||
</div>
|
||
<div id="sosAudioContent">
|
||
<Audio id="html_Audio_record" class="Audio2" autoplay="" controls="" muted=""></Audio>
|
||
</div>
|
||
</div>
|
||
</div>`,
|
||
success:function(){
|
||
sosAudioStart();
|
||
}
|
||
});
|
||
|
||
$(".popInfoTitle>img").on('click',function(){
|
||
layuiObj["layer"].close(sosAudioIndex)
|
||
sosAudioIndex=null;
|
||
sosAudioStop();
|
||
})
|
||
}
|
||
|
||
|
||
|
||
var taskCode="";
|
||
// 开始对讲
|
||
function sosAudioStart(){
|
||
if (sosSdk) {
|
||
let disconnectedCallback = (SipNum) => {
|
||
// 开始对讲之后,有设备或自己退出对讲
|
||
console.warn(SipNum, "已退出对讲", sosSdk && sosSdk.isMe(SipNum));
|
||
}
|
||
let stopCallback = () => {
|
||
// 开始对讲之后,服务器结束了对讲
|
||
console.warn("服务器结束对讲");
|
||
}
|
||
sosSdk.audioSpeakStart({
|
||
// 必填参数
|
||
DeviceId: parseInt(currentSosAudio["deviceId"]),
|
||
AudioDomId: "html_Audio_record", // 要保证document.getElementById("html_audio_remote")非null,你的audio标签,一定要存在
|
||
// 非必填参数
|
||
Force: false,
|
||
OnDisconnected: disconnectedCallback,
|
||
OnStop: stopCallback,
|
||
}).then((ret) => {
|
||
taskCode = ret.TaskCode
|
||
console.log(ret);
|
||
}).catch((e) => {
|
||
console.log(e);
|
||
switch (e.code) {
|
||
case 2005:
|
||
break;
|
||
case 2006:
|
||
layer.msg("设备离线")
|
||
break
|
||
case 3551:
|
||
break;
|
||
case 3552:
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
})
|
||
} else {
|
||
alert("对讲失败,请先启动SDK")
|
||
}
|
||
}
|
||
|
||
// 结束对讲
|
||
function sosAudioStop(){
|
||
if (sosSdk) {
|
||
sosSdk.audioSpeakStop({
|
||
TaskCode: taskCode
|
||
}).then(() => {
|
||
console.log("对讲停止成功");
|
||
}).catch((error) => {
|
||
console.error(error);
|
||
})
|
||
} else {
|
||
alert("对讲停止失败,请先启动SDK")
|
||
}
|
||
}
|
||
|
||
|
||
export {popSosAudio} |