编程语言
首页 > 编程语言> > javascript – 在浏览器中自定义渐进式音频流

javascript – 在浏览器中自定义渐进式音频流

作者:互联网

假设我想在Javascript中创建我自己的渐进式流媒体机制,因为我发现浏览器的内置流机制不够容错,或者我喜欢在WebSocket上实现我自己的自定义方法.我想创建一个缓冲区,它保存已经下载的连续媒体文件段(比如arraybuffer或类似的东西).是否可以播放此文件,即使它尚未从头到尾下载?

我唯一的想法是Web Audio API which has a noteOn() function,用于优先计算每个段的开始时间.但是我不知道这会是多么无懈可击.此外,它还引入了一个问题,我必须确切地知道在服务器端可以安全地切割音频文件的位置,以便下一部分可以被解码而没有任何损失和间隙.例如.即使在CBR模式下,mp3的位存储器也将音频数据存储在相邻音频帧中,这使得事情变得困难.

解决方法:

如何创建从传入缓冲区提供的ScriptProcessorNode?最大的问题是确保段可以转换为原始音频样本,但是否则你可以在onaudioprocess event handler中编写一个简单的函数来拉入下一个可用的缓冲区块并将其复制到节点的输出缓冲区中.由于这将是一种按需提供机制,因此您无需担心时序段播放.

标签:javascript,streaming,audio,mp3,web-audio
来源: https://codeday.me/bug/20190629/1327406.html