我想使用 WebRTC 和github.io的脚本从智能手机摄像头录制视频(演示:https : //webrtc.github.io/samples/src/content/getusermedia/record/)。但是演示链接在 iPhone Safari 上不起作用。我也在这里尝试了源脚本这是记录演示的原始代码:'use strict';/* globals MediaRecorder */const mediaSource = new MediaSource();mediaSource.addEventListener('sourceopen', handleSourceOpen, false);let mediaRecorder;let recordedBlobs;let sourceBuffer;const errorMsgElement = document.querySelector('span#errorMsg');const recordedVideo = document.querySelector('video#recorded');const recordButton = document.querySelector('button#record');recordButton.addEventListener('click', () => { if (recordButton.textContent === 'Start Recording') { startRecording(); } else { stopRecording(); recordButton.textContent = 'Start Recording'; playButton.disabled = false; downloadButton.disabled = false; }});const playButton = document.querySelector('button#play');playButton.addEventListener('click', () => { const superBuffer = new Blob(recordedBlobs, {type: 'video/webm'}); recordedVideo.src = null; recordedVideo.srcObject = null; recordedVideo.src = window.URL.createObjectURL(superBuffer); recordedVideo.controls = true; recordedVideo.play();});const downloadButton = document.querySelector('button#download');downloadButton.addEventListener('click', () => { const blob = new Blob(recordedBlobs, {type: 'video/webm'}); const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.style.display = 'none'; a.href = url; a.download = 'test.webm'; document.body.appendChild(a); a.click(); setTimeout(() => { document.body.removeChild(a); window.URL.revokeObjectURL(url); }, 100);});function handleSourceOpen(event) { console.log('MediaSource opened'); sourceBuffer = mediaSource.addSourceBuffer('video/webm; codecs="vp8"'); console.log('Source buffer: ', sourceBuffer);}function handleDataAvailable(event) { if (event.data && event.data.size > 0) { recordedBlobs.push(event.data); }}我还测试脚本小提琴不同的智能手机。它显然只在 iPhone 上不起作用。
添加回答
举报
0/150
提交
取消