gpt4 book ai didi

javascript - 浏览器中的自定义渐进式音频流

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:13 24 4
gpt4 key购买 nike

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

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

最佳答案

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

关于javascript - 浏览器中的自定义渐进式音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com