anxiao_web/pages/cmddispatch/js/popSosAudio.js

102 lines
3.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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}