我正在使用Webaudio api" createMediaElementSource"这适用于Firefox(Gecko)和Chrome(Blink),但不适用于Safari(Webkit)。这对我来说是个大问题,因为我更喜欢从我的Html5音频播放器获取音频而不是使用XMLHttpRequests,因为后者太慢了。
我做的第一次尝试是将源作为音频标签中的字符串,并将其作为XMLHttpRequest中的URL提供。正如预期的那样它可以正常工作,但是解码非常慢,我不能用stop()暂停音频,因为恢复会导致整个文件的另一轮先前解码,然后才能听到它。
名为 Kevin Ennis 的stackoverflow用户给了我一个重要的建议,这是一个非常好的主意:
您可以将音频分解为许多较小的文件。喜欢, 也许将它分成4个单独的1MB音频文件并加载它们 订购。然后你可以在第一个加载后开始播放,并且 在那场比赛中,你加载其他的。
我的问题是,我该如何从技术上做到这一点?我不知道有任何功能可以检查音频文件是否已完成。
我想它看起来像这样:
config
我的想法会起作用还是彻底失败?关于长解码时间,你有什么建议呢?