Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-如何控制HTML音频元素的最小缓冲区大小?_Javascript_Html_Html5 Audio_Audio Streaming - Fatal编程技术网

javascript-如何控制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(() => {

我在Angular中使用HTML音频元素播放播客:

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文件吗?