| | |
| | | const osdVisible = computed(() => store.state.home.osdVisible); |
| | | // 直播地址 |
| | | let airPortUrl = ref('') |
| | | // 获取直播地址 |
| | | // 获取机巢直播地址 |
| | | const getVideoUrl = (sn, quality) => { |
| | | if (singleUavHome.value.status === 'OFFLINE') return; |
| | | liveStart(sn, quality).then(res => { |
| | |
| | | }) |
| | | } |
| | | |
| | | // 获取无人机直播url |
| | | async function getDroneLiveUrl(sn, quality) { |
| | | airPortUrl.value = '' |
| | | await nextTick() |
| | | const res = await liveStart(sn, quality) |
| | | airPortUrl.value = res.data.data.rtcs_url |
| | | } |
| | | |
| | | const isTakeOff = ref(false) |
| | | // 监听ws消息 |
| | | watch(() => store.state.home.deviceState, async (newValue) => { |
| | | console.log(osdVisible.value.sn,'333333') |
| | | const deviceInfo = newValue?.deviceInfo[osdVisible.value.sn] |
| | | if (!deviceInfo) return |
| | | |
| | | const currentIsTakeOff = ![14, 0].includes(deviceInfo?.mode_code) |
| | | console.log(isTakeOff.value, currentIsTakeOff,'8888') |
| | | // 如果还是之前的状态,不切换 |
| | | if (isTakeOff.value === currentIsTakeOff) return |
| | | isTakeOff.value = currentIsTakeOff |
| | | isTakeOff.value ? await getVideoUrl(osdVisible.value.sn, 2) : await getVideoUrl(singleUavHome.value.device_sn, 1) |
| | | isTakeOff.value ? await getDroneLiveUrl(osdVisible.value.sn, 2) : await getVideoUrl(singleUavHome.value.device_sn, 1) |
| | | }, |
| | | { |
| | | immediate: true, |
| | |
| | | onMounted(() => { |
| | | getVideoUrl(singleUavHome.value.device_sn, 1) |
| | | }) |
| | | onUnmounted(() => { |
| | | airPortUrl.value = '' |
| | | }) |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |