parent
13c1e97405
commit
bac75ee325
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,194 +1,194 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="hkcont">
|
<div class="hkcont">
|
||||||
<div id="player">
|
<div id="player"></div>
|
||||||
|
<div class="items">
|
||||||
</div>
|
<div>
|
||||||
<div class="items">
|
<button type="button" @click="startTalk">开始对讲</button>
|
||||||
<div>
|
<button type="button" @click="stopTalk">停止对讲</button>
|
||||||
<button type="button" @click="startTalk">开始对讲</button>
|
设置声音<input type="range" min="0" max="100" step="1" value="50" v-model="inputValue" @change="TalkSetVolume" />
|
||||||
<button type="button" @click="stopTalk">停止对讲</button>
|
</div>
|
||||||
<!-- <button type="button" onClick="SetVolume()">设置声音</button> -->
|
</div>
|
||||||
设置声音<input
|
</div>
|
||||||
type="range"
|
|
||||||
min="0"
|
|
||||||
max="100"
|
|
||||||
step="1"
|
|
||||||
value="50"
|
|
||||||
v-model="inputValue"
|
|
||||||
@change="TalkSetVolume"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import api from '@/axios'
|
import api from '@/axios'
|
||||||
import { Ref, ref, watch, onMounted, onBeforeMount, onBeforeUnmount, reactive, getCurrentInstance } from 'vue'
|
import {ref, onMounted, onBeforeUnmount} from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import {useRouter} from 'vue-router'
|
||||||
import { JsonResult } from '@/axios'
|
import {JsonResult} from '@/axios'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const infoData = ref()
|
const inputValue = ref(50)
|
||||||
const inputValue = ref(50)
|
var curIndex = 0 // 当前窗口下标
|
||||||
var curIndex = 0 // 当前窗口下标
|
let myPlugin: any
|
||||||
let myPlugin : any
|
//开启对讲
|
||||||
//开启对讲
|
let date = {
|
||||||
let date = {
|
pointId: router.currentRoute.value.query.pointId,
|
||||||
pointId: router.currentRoute.value.query.pointId,
|
useTLS: 0
|
||||||
useTLS: 0
|
}
|
||||||
}
|
if (process.env.NODE_ENV === 'production') {
|
||||||
if (process.env.NODE_ENV === 'production') {
|
date.useTLS = 1
|
||||||
date.useTLS = 1
|
}
|
||||||
}
|
const startTalk = () => {
|
||||||
const startTalk = () => {
|
console.log('开启对讲')
|
||||||
console.log('开启对讲')
|
api.post<any>('/multialarm/talk/channel', {...date}).then((ress) => {
|
||||||
api.post('/multialarm/talk/channel', { ...date }).then((ress) => {
|
console.log('对讲地址', ress.data.videoUrl)
|
||||||
console.log('对讲地址', ress.data.videoUrl);
|
myPlugin.JS_SetConnectTimeOut(0, 3000)
|
||||||
myPlugin.JS_SetConnectTimeOut(0, 3000);
|
myPlugin.JS_StartTalk(ress.data.videoUrl).then(
|
||||||
myPlugin.JS_StartTalk(ress.data.videoUrl).then(
|
() => {
|
||||||
() => {
|
console.log('talkStart success')
|
||||||
console.log("talkStart success");
|
},
|
||||||
},
|
(e: any) => {
|
||||||
(e) => {
|
console.error(e, '对讲失败')
|
||||||
console.error(e, "对讲失败");
|
}
|
||||||
}
|
)
|
||||||
);
|
})
|
||||||
})
|
}
|
||||||
}
|
|
||||||
//关闭对讲
|
|
||||||
const stopTalk = ()=>{
|
|
||||||
myPlugin.JS_StopTalk().then(function () {
|
|
||||||
console.log("关闭对讲 success");
|
|
||||||
}, function () {
|
|
||||||
console.log("关闭对讲 failed");
|
|
||||||
});
|
|
||||||
};
|
|
||||||
//调节声音
|
|
||||||
const TalkSetVolume = () =>{
|
|
||||||
myPlugin.JS_TalkSetVolume(parseFloat(inputValue.value)).then(
|
|
||||||
() => {
|
|
||||||
console.log("JS_TalkSetVolume success", inputValue.value);
|
|
||||||
},
|
|
||||||
(err) => {
|
|
||||||
console.error("JS_TalkSetVolume failed", err);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
onMounted(() => {
|
|
||||||
if (typeof window.JSPlugin === 'undefined') {
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
const GetVolume = () => {
|
||||||
|
myPlugin.JS_GetVolume(curIndex).then(
|
||||||
|
(volumn: any) => {
|
||||||
|
//在不设置音量的情况下默认50
|
||||||
|
console.info('JS_GetVolume success', volumn)
|
||||||
|
// do you want...
|
||||||
|
},
|
||||||
|
(err: any) => {
|
||||||
|
console.info('JS_GetVolume failed')
|
||||||
|
// do you want...
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
api.post('/multialarm/video/preview', { ...date }).then((res : JsonResult<any>) => {
|
const OpenSound = () => {
|
||||||
// console.log('router222', res)
|
myPlugin.JS_OpenSound(curIndex).then(
|
||||||
console.log('播放地址', res.data.videoUrl)
|
() => {
|
||||||
var code = res['code']
|
console.info('JS_OpenSound success')
|
||||||
if (code == 0) {
|
// do you want...
|
||||||
var playURL = res.data.videoUrl
|
},
|
||||||
// var playURL = 'wss://w.hnjinglian.cn:2563/haikang play/openUrl/w64vRni'
|
(err: any) => {
|
||||||
var IS_MOVE_DEVICE = document.body.clientWidth < 992 // 是否移动设备
|
console.info('JS_OpenSound failed')
|
||||||
var MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
// do you want...
|
||||||
myPlugin = new window.JSPlugin({
|
}
|
||||||
// 当容器div#play_window有固定宽高时,可不传iWidth和iHeight,窗口大小将自适应容器宽高
|
)
|
||||||
// iWidth: 600,
|
}
|
||||||
// iHeight: 400,
|
|
||||||
szId: 'player', //需要英文字母开头,唯一性,必填
|
|
||||||
szBasePath: '/haikang', // 必填,与h5player.min.js的引用目录一致
|
|
||||||
iMaxSplit: 1, // 分屏播放,默认最大分屏4*4
|
|
||||||
iCurrentSplit: IS_MOVE_DEVICE ? 1 : 2,
|
|
||||||
openDebug: true,
|
|
||||||
oStyle: {
|
|
||||||
borderSelect: IS_MOVE_DEVICE ? '#000' : '#FFCC00'
|
|
||||||
},
|
|
||||||
bSupporDoubleClickFull: true //是否支持双击全屏,默认true
|
|
||||||
})
|
|
||||||
|
|
||||||
var controlIndex = 2
|
//关闭对讲
|
||||||
|
const stopTalk = () => {
|
||||||
|
myPlugin.JS_StopTalk().then(
|
||||||
|
function () {
|
||||||
|
console.log('关闭对讲 success')
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
console.log('关闭对讲 failed')
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
//调节声音
|
||||||
|
const TalkSetVolume = () => {
|
||||||
|
myPlugin.JS_TalkSetVolume(parseFloat(inputValue.value)).then(
|
||||||
|
() => {
|
||||||
|
console.log('JS_TalkSetVolume success', inputValue.value)
|
||||||
|
},
|
||||||
|
(err: any) => {
|
||||||
|
console.error('JS_TalkSetVolume failed', err)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
if (typeof window.JSPlugin === 'undefined') {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
|
||||||
|
api.post('/multialarm/video/preview', {...date}).then((res: JsonResult<any>) => {
|
||||||
|
// console.log('router222', res)
|
||||||
|
console.log('播放地址', res.data.videoUrl)
|
||||||
|
var code = res['code']
|
||||||
|
if (code == 0) {
|
||||||
|
var playURL = res.data.videoUrl
|
||||||
|
// var playURL = 'wss://w.hnjinglian.cn:2563/haikang play/openUrl/w64vRni'
|
||||||
|
var IS_MOVE_DEVICE = document.body.clientWidth < 992 // 是否移动设备
|
||||||
|
var MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
||||||
|
myPlugin = new window.JSPlugin({
|
||||||
|
// 当容器div#play_window有固定宽高时,可不传iWidth和iHeight,窗口大小将自适应容器宽高
|
||||||
|
// iWidth: 600,
|
||||||
|
// iHeight: 400,
|
||||||
|
szId: 'player', //需要英文字母开头,唯一性,必填
|
||||||
|
szBasePath: '/haikang', // 必填,与h5player.min.js的引用目录一致
|
||||||
|
iMaxSplit: 1, // 分屏播放,默认最大分屏4*4
|
||||||
|
iCurrentSplit: IS_MOVE_DEVICE ? 1 : 2,
|
||||||
|
openDebug: true,
|
||||||
|
oStyle: {
|
||||||
|
borderSelect: IS_MOVE_DEVICE ? '#000' : '#FFCC00'
|
||||||
|
},
|
||||||
|
bSupporDoubleClickFull: true //是否支持双击全屏,默认true
|
||||||
|
})
|
||||||
|
|
||||||
|
var controlIndex = 2
|
||||||
|
|
||||||
//开启对讲
|
function playVideo() {
|
||||||
// function startTalk() {
|
myPlugin
|
||||||
// console.log('开启对讲')
|
.JS_Play(
|
||||||
// api.post('/multialarm/talk/channel', { ...date }).then((ress) => {
|
playURL,
|
||||||
// console.log('对讲地址', ress.data.videoUrl);
|
{
|
||||||
// // myPlugin.JS_SetConnectTimeOut(0, 3000);
|
playURL: playURL, // 流媒体播放时必传
|
||||||
// myPlugin.JS_StartTalk(ress.data.videoUrl).then(
|
mode: 1 // 解码类型:0=普通模式; 1=高级模式 默认为0
|
||||||
// () => {
|
},
|
||||||
// console.log("talkStart success");
|
curIndex //当前窗口下标
|
||||||
// },
|
)
|
||||||
// (e) => {
|
.then(
|
||||||
// console.error(e, "对讲失败");
|
() => {
|
||||||
// }
|
console.info('JS_Play success')
|
||||||
// );
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
OpenSound()
|
||||||
|
GetVolume()
|
||||||
|
// do you want...
|
||||||
|
},
|
||||||
|
(e: any) => {
|
||||||
|
// console.log('网络流中断')
|
||||||
|
controlIndex--
|
||||||
|
if (controlIndex <= 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// console.info('JS_Play failed:', e)
|
||||||
|
playVideo()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
playVideo()
|
||||||
|
} else {
|
||||||
|
alert('播放失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
// }
|
// 停止播放断开 ws 连接
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
myPlugin.JS_Stop(curIndex).then(
|
||||||
function playVideo() {
|
() => {
|
||||||
myPlugin
|
console.info('JS_Stop success')
|
||||||
.JS_Play(
|
// do you want...
|
||||||
playURL,
|
},
|
||||||
{
|
(err: any) => {
|
||||||
playURL: playURL, // 流媒体播放时必传
|
console.info('JS_Stop failed:', err)
|
||||||
mode: 1 // 解码类型:0=普通模式; 1=高级模式 默认为0
|
// do you want...
|
||||||
},
|
}
|
||||||
curIndex //当前窗口下标
|
)
|
||||||
)
|
})
|
||||||
.then(
|
|
||||||
() => { },
|
|
||||||
(e : any) => {
|
|
||||||
// console.log('网络流中断')
|
|
||||||
controlIndex--
|
|
||||||
if (controlIndex <= 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// console.info('JS_Play failed:', e)
|
|
||||||
playVideo()
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
playVideo()
|
|
||||||
} else {
|
|
||||||
alert('播放失败')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
// 停止播放断开 ws 连接
|
|
||||||
onBeforeUnmount(() => {
|
|
||||||
myPlugin.JS_Stop(curIndex).then(
|
|
||||||
() => {
|
|
||||||
console.info('JS_Stop success')
|
|
||||||
// do you want...
|
|
||||||
},
|
|
||||||
(err : any) => {
|
|
||||||
console.info('JS_Stop failed:', err)
|
|
||||||
// do you want...
|
|
||||||
}
|
|
||||||
)
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.hkcont{
|
.hkcont {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
#player {
|
#player {
|
||||||
height:100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #000;
|
background: #000;
|
||||||
}
|
}
|
||||||
.items {
|
.items {
|
||||||
border: 1px solid #444444;position:absolute;bottom:0px;
|
border: 1px solid #444444;
|
||||||
}
|
position: absolute;
|
||||||
}
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -856,8 +856,8 @@ const initMapdt = (data: any, podat: any, name: any) => {
|
||||||
}
|
}
|
||||||
if (name !== '湖南省') {
|
if (name !== '湖南省') {
|
||||||
// option.series = option.series.filter((series) => series.type !== 'lines')
|
// option.series = option.series.filter((series) => series.type !== 'lines')
|
||||||
// option.series[1].data = []
|
option.series[1].data = []
|
||||||
// option.series[2].data = []
|
option.series[2].data = []
|
||||||
myChart.setOption(option)
|
myChart.setOption(option)
|
||||||
} else {
|
} else {
|
||||||
myChart.setOption(option)
|
myChart.setOption(option)
|
||||||
|
|
Loading…
Reference in New Issue