我正在创建一个带有nodejs和mongodb后端的Angular 5应用程序。
需要实现一项功能,以允许用户在网页上录制他们的语音。之后演讲需要在不同的页面上播放,因此应该保存。
答案 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中,但这不是最好的主意,因为这将是一个非常大的字符串。