我有一个程序可以播放服务器中的歌曲。为了提高效率,我将服务器上的音频文件分成多个部分,然后使用Ajax作为base64编码将其发送到客户端。 HTML5本机音频播放器播放base64音频片段,但是在播放下一个音频片段时,它将暂停一会再播放。检索到的片段存储在IndexedDB中以便快速访问,但是仍然会导致播放暂停。如何使程序更有效以及如何修复切换段之间发生的音频暂停。
是否有其他方法可以使用Javascript在不暂停的情况下将音频文件附加到当前播放的音频源?
Media Source Extensions API可以做到这一点,但是请注意,您只是在重新发明Range requests和缓存,这正是浏览器已经为获取媒体所做的工作,但是它们做得更好,因为它们不会增加base64的开销。它。
因此,“其他方法”是将服务器配置为接受Range请求,在一个文件中尽可能基本地为您的文件提供服务,并让浏览器完成其工作。