JavaScript在chrome浏览器实现录屏功能

js实现录屏功能

代码实现

	<video class="video" controls width="600px"></video>
	<button class="record-btn">record button</button>
	<a class="download">下载</a>
<script>
	let btn = document.querySelector('.record-btn');
	btn.addEventListener('click', async function() {
	let stream = await navigator.mediaDevices.getDisplayMedia({
		video: true
	})
	let mime = MediaRecorder.isTypeSupported('video/webm; codecs=vp9') ? 'video/webm; codecs=vp9' : 'video/webm';
	let mediaRecorder = new MediaRecorder(stream, {
		mimeType: mime
	})
	let chunks = [];
	mediaRecorder.addEventListener('dataavailable', function(e) {
		chunks.push(e.data);
	})
	mediaRecorder.addEventListener('stop', function() {
		let blob = new Blob(chunks, {
			type: chunks[0].type
		})
		let video = document.querySelector('video');
		let url = URL.createObjectURL(blob);
		video.src = url;
		// 下载
		let a = document.createElement('a')
		a.href = url
		a.download = 'video.webm'
		a.click()
	})

	mediaRecorder.start()
})

操作流程

  • 选择要录屏的窗口
    在这里插入图片描述
  • 停止录屏
    在这里插入图片描述

版权声明:本文为hbjiankely原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。