📜  如何在 JavaScript 中录制和播放音频?

📅  最后修改于: 2021-11-08 06:35:29             🧑  作者: Mango

JavaScript 是一种非常灵活的语言,它提供了许多 API 支持来做许多有用的事情。这里一件重要的事情是在网页中录制音频或视频也是使用 JavaScript 完成的。在这种情况下,它会要求用户对浏览器进行麦克风访问并通过麦克风记录音频并将音频数据块以二进制值的形式保存在数组中,当我们播放音频时,然后检索卡盘数据并开始播放。视频也会发生同样的事情,当我们进行视频会议时,这实际上发生在服务器中,唯一的问题是我们在同一页面上播放视频,而在视频会议的情况下,视频将在另一端播放。

整个过程使用 API 进行,即MediaRecorder API。此 API 提供录制音频或视频等媒体的功能。它是使用MediaRecorder()构造函数创建的。

这里我们使用 JavaScript 的一个属性,即mediaDevices属性,用于访问连接的输入媒体设备,如麦克风、网络摄像头等。该属性使用 getUserMedia()方法获取访问麦克风、网络摄像头等的权限。此方法向导航器对象返回一个承诺。

承诺如下:

如果是真的:

  • resolve :如果获得所有权限并且麦克风或摄像头工作正常,则它返回一个MediaStream对象。这是主要的记录数据。

如果为假:

  • NotAllowedError:如果用户拒绝录制权限。
  • NotFoundError:如果没有媒体轨道。
  • NotReadableError:如果未找到输入设备或硬件不工作。
  • 过度约束错误:如果约束音频设置被阻止。
  • AbortError:如果找到通用的未知原因。
  • TypeError: If audio: false在 Javascript 代码中声明。

例子:



  

  

  

  
    

Record and Play Audio in JavaScript

  
     

                                  

                       

输出: