用 vue 写一个仅检测 rtsp 视频流 是否在线的代码 5 秒检测一次 不需要手动
时间: 2024-03-24 13:35:56 浏览: 224
好的,以下是使用 Vue 实现每隔 5 秒自动检测 rtsp 视频流是否在线的代码:
```html
<template>
<div>
<p v-if="isVideoOnline">视频流在线</p>
<p v-else>视频流不在线</p>
</div>
</template>
<script>
export default {
data() {
return {
isVideoOnline: false
}
},
methods: {
checkVideoStatus() {
const url = 'rtsp://example.com/stream'
const video = document.createElement('video')
video.src = url
video.onerror = () => {
this.isVideoOnline = false
}
video.oncanplay = () => {
this.isVideoOnline = true
}
}
},
mounted() {
setInterval(this.checkVideoStatus, 5000)
}
}
</script>
```
在上述代码中,首先定义了一个 `isVideoOnline` 数据,用于记录视频流是否在线。然后,定义了一个 `checkVideoStatus` 方法,该方法与之前的方法相同,用于检测视频流是否在线,并根据检测结果修改 `isVideoOnline` 数据的值。最后,在组件 `mounted` 钩子函数中,使用 `setInterval` 方法每隔 5 秒自动调用 `checkVideoStatus` 方法检测视频流是否在线,并根据检测结果更新视图。
阅读全文