【发布时间】:2012-04-11 10:46:27
【问题描述】:
我有一个页面上有很多音频元素,其中一些很长(最多约 2 小时)。本质上,它们是这样创建和控制的:
var a = new Audio();
a.preload = 'metadata';
a.src = 'long-track.mp3';
a.play();
当它播放时,浏览器(在本例中为 Chrome)正确地发出范围请求,并且服务器返回“206 Partial Content”,看起来每次大约 2 分钟的数据。加载约 2mb 的数据后,它会停止请求数据。到现在为止还挺好。然后,执行:
a.pause();
这会导致浏览器下载文件的整个剩余部分。 (!!?!~@!!!?) 显然,如果用户决定收听几首曲目的前几秒,这可能是个问题:他们会开始下载 GB不需要的数据。
我看到过一些其他问题在问how to force the full file to be buffered,但实际上我想要的恰恰相反。
【问题讨论】:
标签: html google-chrome audio