【发布时间】:2021-12-11 21:49:43
【问题描述】:
一切都在前端完成。
我的目标是能够实时创建音轨,并立即为用户播放。该文件大约需要 10 分钟。但是,文件非常简单,大多是无声的,周围散落着一些声音片段(声音片段为 2kb)。所以生成数据(原始字节)的过程非常简单,要么写入 2kb 的声音片段,要么将 n 数量的 00 放置为静音。就这样10分钟。但不是完全生成整个文件,然后播放它,我想流式传输音频,理想情况下我会在播放音频时生成越来越多的文件。它将防止用户单击播放和音频开始播放之间的任何明显延迟。创建文件的过程可能需要 20 毫秒到 500 毫秒不等,根据用户输入创建不同的文件。
唯一的问题是:我不知道该怎么做。我已经阅读了有关使用 Web 套接字的想法,但这似乎数据来自服务器,当 JavaScript 可以轻松地自行生成音频数据时,我认为没有理由为此打扰服务器。
在过去的几个小时里,我一直在研究和试验Web Audio API 和Media Streams API,我一直在转圈,我完全被它弄糊涂了。我开始认为这些 API 旨在用于从用户麦克风或网络摄像头收集数据,而不是直接从可读流中提供数据。
我想做的事可能吗?是否可以使用 MediaStreamAudioSourceNode 之类的方法来实现,或者还有其他我没有注意到的更简单的方法吗?
非常感谢您对此主题的任何帮助。一个简单的工作版本的例子将更加感激。谢谢!
【问题讨论】:
标签: javascript audio streaming web-audio-api