1、实现录音功能

核心函数是 navigator.mediaDevices.getUserMedia({audio: true, video: {width: 400, height: 600}})
audio:true表示录音
video:true表示录相,video可设置width height

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>h5实现录音</title>
  8. <script>
  9. let recorder
  10. function start() {
  11. let videoTarget = document.getElementById('audio');
  12. navigator.mediaDevices.getUserMedia({audio: true, video: {width: 400, height: 600}})
  13. .then((stream) => {
  14. recorder = new MediaRecorder(stream);
  15. videoTarget.srcObject = stream;
  16. videoTarget = (...arg) => {
  17. console.log(arg);
  18. }
  19. recorder.ondataavailable = (event) => {
  20. let url = URL.createObjectURL(event.data);
  21. let link = document.createElement("a");
  22. link.target = "_blank";
  23. link.href = url;
  24. link.click();
  25. }
  26. recorder.start();
  27. });
  28. }
  29. function stop() {
  30. recorder.stop();
  31. }
  32. </script>
  33. </head>
  34. <body>
  35. <video id="audio" width="400" height="600" controls autoplay></video>
  36. <input onclick="start()" type="button" value="开始" />
  37. <input onclick="stop()" type="button" value="结束" />
  38. </body>
  39. </html>

2、实现录视频 | 保存下载功能

参考该网址:https://www.webrtc-experiment.com/RecordRTC/simple-demos/