Angular 5 + NodeJS + MongoDB - 如何实现语音/语音录制和播放

时间:2017-11-14 19:10:10

标签: node.js mongodb angular

我正在创建一个带有nodejs和mongodb后端的Angular 5应用程序。

需要实现一项功能,以允许用户在网页上录制他们的语音。之后演讲需要在不同的页面上播放,因此应该保存。

  1. 我可以使用哪些方法通过浏览器中的麦克风录制用户语音?
  2. 我如何存储此录音?例如在mongodb?

1 个答案:

答案 0 :(得分:0)

半年前我开发了相同的功能。除了后端的.NET和前端的Angular 1.x。我在以下文章的帮助下在客户端上使用了getUserMedia

http://typedarray.org/from-microphone-to-wav-with-getusermedia-and-web-audio/

http://typedarray.org/from-microphone-to-wav-to-server/

您需要针对特定​​情况采用大量代码。 一般情况下,我建议客户端getUserMedia,然后转换为客户端上的wav并将此Blob上传到服务器。然后,您可以将此文件保存在服务器上,并在MongoDB中存储它的路径。我相信这将是最有效的方式。另一种选择是将此wav转换为base64并将其作为字符串存储在DB中,但这不是最好的主意,因为这将是一个非常大的字符串。