关于调用萤石云ezuikit-js的视频对象销毁

相信能看到我这篇文章的都是被折磨的不成样子的同学,我只用一行代码就能解决这个问题。

document.getElementById('video-container1').innerHTML= "";

萤石云只提供了一个stop,是不提供页面对象的销毁的,这时候就只能靠我们自己手动去清空页面了。

往往这种问题都发生在并发量不够,需要写分页,单页面的视频却越来越多的情况。

上全代码:

<template>
	<div id="building">
		  <el-select v-model="pageValue" placeholder="请选择" style="position: absolute;top: 1.25rem;left: 1.25rem;"
		   @change="changePage(pageValue,pageValue+1,pageValue+2)">
		    <el-option
		      v-for="item in options"
		      :key="item.value"
		      :label="item.label"
		      :value="item.value">
		    </el-option>
		  </el-select>

		<div id="video-container1" style="float: left; margin-left:10rem; margin-top:10rem;z-index: 0;
		  border: #00C7E1 solid 0.5rem;border-top: #00FFCF solid 0.5rem;border-bottom: #00FFCF solid 0.5rem;">
		</div>
		<div id="video-container2" style="float: left; margin-left:10rem; margin-top:10rem;z-index: 0;
		  border: #00C7E1 solid 0.5rem;border-top: #00FFCF solid 0.5rem;border-bottom: #00FFCF solid 0.5rem;">
		</div>
		<div id="video-container3" style="float: left; margin-left:10rem; margin-top:10rem;z-index: 0;
		  border: #00C7E1 solid 0.5rem;border-top: #00FFCF solid 0.5rem;border-bottom: #00FFCF solid 0.5rem;">
		</div>
	</div>

</template>
<script>
	import EZUIKit from 'ezuikit-js';
	export default {
		name: 'home',
		components: {},
		created() {
			setTimeout(() => {
				this.play(1,2,3)
			}, 1000);
		},
		data() {
			return {
			    pageValue:1,
				player1:null,
				player2:null,
				player3:null,
				num1:0,
				num2:0,
				num3:0,
				options: [{
				         value: 1,
				         label: '第一页'
				       }, {
				         value: 4,
				         label: '第二页'
				       }, {
				         value: 7,
				         label: '第三页'
				       }, {
				         value: 10,
				         label: '第四页'
				       }, {
				         value: 13,
				         label: '第五页'
				       }],
			};
		},
		methods:{
			play(num1,num2,num3){
				this.player1 = new EZUIKit.EZUIKitPlayer({
					id: 'video-container1',
					accessToken: '',
					url: '',
					template: 'security',
					width:400,
					height:400
				});
				this.player1.play();
				this.player2 = new EZUIKit.EZUIKitPlayer({
					id: 'video-container2',
					accessToken: '',
					url: '',
					template: 'security',
					width: 400,
					height: 400
				});
				this.player2.play();
				this.player3 = new EZUIKit.EZUIKitPlayer({
					id: 'video-container3',
					accessToken: '',
					url: '',
					template: 'security',
					width:400,
					height:400
				});
				this.player3.play();
			},
			changePage(num1,num2,num3){
				document.getElementById('video-container1').innerHTML= "";
				document.getElementById('video-container2').innerHTML= "";
				document.getElementById('video-container3').innerHTML= "";
				this.play(num1,num2,num3);
			}
		},
	}
</script>
<style scoped>
	#building {
		background: url("../../../public/img/mon/ZGBJ.png");
		width: 100%;
		height: 100%;
		position: fixed;
		background-size: 90% 90%;
	}

	.dragList {
		overflow: auto;
	}

	.item {
		cursor: move;
		float: left;
		background: #fff;
		width: 100px;
		height: 100px;
		line-height: 100px;
		text-align: center;
		margin: 0 15px 15px 0;
		border: 1px solid #e6e6e6;
	}

	.dragList .sortable-ghost {
		opacity: 0.5;
	}
</style>

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Ezuikit-js是一个基于Vue框架的摄像头调用和录像功能实现的插件。以下是一种可能的实现方式: 首先,我们需要在Vue项目中安装ezuikit-js插件。可以通过npm命令来进行安装: ``` npm install ezuikit-js ``` 然后,在Vue组件中引入和使用ezuikit-js插件: ```javascript import ezuikit from 'ezuikit-js'; export default { data() { return { player: null, isRecording: false, }; }, mounted() { this.initPlayer(); }, methods: { initPlayer() { this.player = new ezuikit.Player({ id: 'video-player', accessToken: 'your_access_token', url: 'rtsp://your_camera_url', }); this.player.initialize(); }, startRecording() { this.isRecording = true; this.player.startRecord(); }, stopRecording() { this.player.stopRecord().then((recordData) => { console.log(recordData); // 可以在控制台输出录像数据(recordData) this.isRecording = false; }); }, }, }; ``` 上述代码中,我们首先在`mounted()`生命周期方法中初始化ezuikit的播放器。然后,我们可以在组件的模板中使用一个`video`标签来显示视频流,并将该标签的`id`设置为"video-player"。接下来,我们通过调用ezuikit的`startRecord()`方法和`stopRecord()`方法来开始和停止录像。在停止录像时,`stopRecord()`方法会返回录像的数据(recordData),可以用于后续的处理和保存。 需要注意的是,上述代码中的`your_access_token`和`your_camera_url`需要被替换为实际的访问令牌和摄像头的URL。 这只是一种实现方式,具体的实现还取决于项目的具体需求和摄像头的接口要求。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值