我目前正在使用HTML5音频播放器通过(移动)浏览器提供音频流(24/7无线电流)。在流中加载并播放它工作正常。
主要问题是HTML5 <audio>
标记将继续下载(缓冲)内容,即使它不活跃。对于移动用户来说,这可能是一个主要问题,因为他们中的大多数都支付数据使到目前为止,我还没有找到适合跨浏览器的解决方案来阻止这种情况。
我到目前为止尝试过:
我只是想知道在整个问题中是否有一些我忽略的东西,因为我确信我不是唯一一个有这个问题的人。
答案 0 :(得分:10)
<audio>
元素包含preload
属性。这可以设置为&#34; none&#34;或&#34;元数据&#34;这应该会阻止音频预加载。
来源:https://developer.mozilla.org/en/docs/Web/HTML/Element/audio
答案 1 :(得分:3)
我找到了解决上述问题的可行解决方案。可以在此处找到详细说明:https://stackoverflow.com/a/13302599/1580615
答案 2 :(得分:1)
您可以执行以下操作来停止缓冲加载而不会出现错误:
var blob = new Blob([], {type: "audio/mp3"});
var url = URL.createObjectURL(blob);
audio.src = _url;
或者,缩短了:
audio.src = URL.createObjectURL(new Blob([], {type:"audio/mp3"});
现在你没有加载&#34;&#34;这是音频标签尝试加载的错误网址。您反而需要加载一个Blob制作的实际网址,该网址不包含播放音频的数据。