为什么HTML5音频在Safari中停滞不前?

时间:2014-10-16 16:49:06

标签: html5 audio safari html5-audio

我在Mac OS 10.9.4下观察Safari 7.0.6中HTML5音频的奇怪行为。

我创建了一个像这样的音频元素

<audio id="audio" controls preload="none" src="http://www.noiseaddicts.com/samples/4353.mp3">

然后我尝试通过JavaScript播放它。

$(document).ready
(

  function()
  {

    console.log('Document ready');

    $('audio').bind
    (
      'stalled',
      function()
      {
        console.log('Stalled');
        this.load();
      }
    );

    $('audio').bind
    (
      'canplaythrough',
      function()
      {
        console.log('Can play through');
        this.play();
        console.log('Play');
      }
    );

    console.log('Begin load');

    // It will begin to load even if you comment the following line out
    $('audio').trigger('load');

  }

);

我在Safari中遇到这个脚本的几个问题。

  1. 由于未知原因,即使我没有调用load方法,即使我指定preload="none"属性,音频也会开始加载。在请求之前,如何强制Safari不加载音频?

  2. 加载开始时,音频会停止几次。为什么会失速?我该如何解决?这在任何其他浏览器中都不会发生。这会导致音频加载4-5次,导致播放前有大的延迟。

  3. 谢谢你的帮助!

    P.S。这是一个jsbin来说明问题。

0 个答案:

没有答案