当前位置: 首页 > 面试题库 >

将录制的音频从浏览器流传输到服务器

袁骏祥
2023-03-14
问题内容

我想将录制的音频从浏览器实时流传输到服务器并播放。该服务器最终将成为播放这些音频流的嵌入式设备。

到目前为止,我已经成功地录制了音频并将其编码为WAVE文件,并使用网络音频API并按照本教程在浏览器上播放。

现在,我有了.WAV编码的Blob流。我试图找到通过Web套接字连接将其流式传输到Node.js后端并使用npm模块播放它们的方法。但是我没有运气。

有人知道我应该遵循的任何资源或模块吗?也许我应该尝试其他方法?自从在浏览器上录制以来,音频需要在服务器上相对较快地播放。


问题答案:

我目前正在使用某些软件进行此操作,该软件可以通过您的Web浏览器流式传输到Internet广播服务器。

我将WebAudio API与getUserMedia一起使用,以从声音设备获取实时PCM音频数据。从那里,我将这些数据从32位浮点型转换为16位,12位或8位数据,具体取决于可用的带宽量。转换后的int样本将通过BinaryJS写入流设置,该流设置将流同时包装在Node.js和客户端上。作为BinaryJS的好处,您可以根据需要打开任意多个流,因此我在同一WebSocket连接上使用第二个流来存储控制数据。

http://demo.audiopump.co:3000/



 类似资料:
  • 如果有人能把我引向正确的方向,我会很感激,这样我就知道从哪里开始了。

  • 问题内容: 我目前正在尝试将直播麦克风音频从Android设备流式传输到Java程序。我首先在两个Android设备之间发送实时音频,以确认我的方法正确。在接收设备上几乎没有任何延迟地可以完美地听到音频。接下来,我将相同的音频流发送到一个小型Java程序,并验证了数据也已正确发送到此处。现在,我想要做的是对这些数据进行编码,并以某种方式在运行Java程序的服务器上对其进行回放。我宁愿在使用HTML

  • 问题内容: 我一直在使用Node.js中的二进制流进行实验,但令我惊讶的是,确实有一个工作演示,它使用节点无线电流获取Shoutcast流,并使用分块编码将其推入HTML5元素。但这仅适用于Safari! 这是我的服务器代码: 我的客户代码很简单: 这在Mac上的Safari 5中可以正常运行,但在Chrome或Firefox中似乎无法执行任何操作。有任何想法吗? 可能的候选对象包括编码问题,或者

  • 我有一个基于React的应用程序,我有一个输入,我想允许语音输入。我可以让它只与Chrome和Firefox兼容,所以我考虑使用getUserMedia。我知道我将使用谷歌云的语音到文本API。然而,我有几个注意事项: 我希望这能实时流式传输我的音频数据,而不仅仅是在我完成录制时。这意味着我找到的很多解决方案都不能很好地工作,因为仅保存文件然后将其发送到Google Cloud Speech是不够

  • 问题内容: 是否可以使用ajax将文件从浏览器升级到FTP服务器? 问题答案: 不会。浏览器不提供允许从JavaScript写入FTP的API。 您可以将文件发布到HTTP端点,然后使用服务器端代码将其推送到FTP服务器。

  • 我正在发送视频帧的形式的JPEG图像到我的服务器上的RMTP流。在服务器端,我希望将流(ip+端口)连接到ffmpeg,这样它就可以从流中获取图像,并从中创建视频流。 实际上,我的服务器正在监听一个IP和端口来接收帧。这部分完成了。我遇到的问题是如何使用FFMPEG将这些帧转换成视频流。谁能告诉我如何做到这一点吗?我知道是我应该使用的,但我在Google上没有找到它的语法和文档。