Mozilla

火狐社区

登录    注册

QQ互联

html开发录制视频,下载时怎么下成mp4

Zq5437 社区新人 发表于 2024-1-29 11:36:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 [复制链接] 打印 上一主题 下一主题
0 37964
跳转到指定楼层
我写了一个html文件,用于在本地录制视频和下载录制的视频,我在safari和edge上都测试成功,并且下载为mp4文件,但是在Firefox上没能成功,下载为了webm格式,我不知道该如果修改,希望各位能指点迷津
stackoverflow:https://stackoverflow.com/questi ... -what-is-ok-in-othe

record codes:
  1. function startRecording() {
  2.             clearRecordedData();
  3.             navigator.mediaDevices.getUserMedia({ video: true, audio: true })
  4.                 .then((stream) => {
  5.                     mediaRecorder = new MediaRecorder(stream, recorderOptions);

  6.                     const liveCamera = document.getElementById('liveCamera');
  7.                     liveCamera.srcObject = stream;
  8.                     
  9.                     liveCamera.muted = true;

  10.                     mediaRecorder.ondataavailable = (event) => {
  11.                         if (event.data.size > 0) {
  12.                             recordedChunks.push(event.data);
  13.                         }
  14.                     };

  15.                     mediaRecorder.onstop = () => {
  16.                         recordedBlob = new Blob(recordedChunks, { type: 'video/mp4' });

  17.                         console.log(recordedBlob);
  18.                         console.log(recordedBlob.type);


  19.                         recordedVideo.src = URL.createObjectURL(recordedBlob);
  20.                         enableButtons(['startRecord', 'saveRecord', 'playRecord']);
  21.                         disableButtons(['stopRecord']);
  22.                     };

  23.                     mediaRecorder.start();
  24.                     recordedTime = 0;
  25.                     updateRecordedTime();
  26.                     disableButtons(['startRecord']);
  27.                     enableButtons(['stopRecord']);
  28.                 })
  29.                 .catch((error) => {
  30.                     console.error('getUserMedia error:', error);
  31.                 });
  32.         }
复制代码

save codes:
  1. function saveRecording() {
  2.             if (recordedBlob) {
  3.                 const url = URL.createObjectURL(recordedBlob);
  4.                 const a = document.createElement('a');
  5.                 a.href = url;
  6.                 var urlParams = new URLSearchParams(window.location.search);
  7.                 var sourceValue = urlParams.get('source');
  8.                 a.download = sourceValue + '.mp4';

  9.                 console.log(recordedBlob);
  10.                 console.log(a);

  11.                 document.body.appendChild(a);
  12.                 a.click();
  13.                 document.body.removeChild(a);
  14.             }
  15.         }
复制代码




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表