javascript-如何控制HTML音频元素的最小缓冲区大小?
我在Angular中使用HTML音频元素播放播客:javascript-如何控制HTML音频元素的最小缓冲区大小?,javascript,html,html5-audio,audio-streaming,Javascript,Html,Html5 Audio,Audio Streaming,我在Angular中使用HTML音频元素播放播客: var audio = new Audio(); audio.src = 'http://<some_mp3_file>'; audio.play(); var audio=新音频(); audio.src='http://'; 音频播放(); 我发现不同的浏览器在真正开始播放之前需要预加载不同数量的音频数据 我就是这样想出来的。我设置了一个简单的计时器来检测缓冲区中的数据量: setInterval(() => {
var audio = new Audio();
audio.src = 'http://<some_mp3_file>';
audio.play();
var audio=新音频();
audio.src='http://';
音频播放();
我发现不同的浏览器在真正开始播放之前需要预加载不同数量的音频数据
我就是这样想出来的。我设置了一个简单的计时器来检测缓冲区中的数据量:
setInterval(() => {
var bufferState = [];
for (var i=0; i<audio.buffered.length; i++) {
bufferState.push({
start: audio.buffered.start(i),
end: audio.buffered.end(i),
})
}
this.bufferState = bufferState;
console.log(bufferState);
}, 1000);
setInterval(()=>{
var bufferState=[];
对于(var i=0;i您是否已尝试将音频.预加载
设置为无
或元数据
?参考-)是的,我只是尝试将audio.preload='none'
添加到我的第一个代码块中,但它不起作用。我想你提到的问题是,即使用户还没有开始播放,音频标签也会预加载媒体。根据文档,这是preload
属性。我的问题是在预装大数据块之前,播放不会开始,这显然也取决于iOS版本:(我唯一一次看到这种缓冲行为是当文件损坏时,或者当内容类型
头不正确时。您能否显示完整的HTTP请求/响应头,并提供一个示例MP3文件?您是否尝试过将音频.预加载
设置为无
或元数据
?参考-)是的,我只是尝试将audio.preload='none'
添加到我的第一个代码块中,但它不起作用。我想你提到的问题是,即使用户还没有开始播放,音频标签也会预加载媒体。根据文档,这是preload
属性。我的问题是在预装一大块之前,播放不会开始,这显然也取决于iOS版本:(我唯一见过这种缓冲行为的时候是当文件损坏时,或者当内容类型
头不正确时。你能显示完整的HTTP请求/响应头,并提供一个示例MP3文件吗?