Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
为什么HTML5音频在Safari中停滞不前?_Html_Audio_Safari_Html5 Audio - Fatal编程技术网

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

为什么HTML5音频在Safari中停滞不前?,html,audio,safari,html5-audio,Html,Audio,Safari,Html5 Audio,我在MacOS10.9.4下的Safari7.0.6中观察到HTML5音频的一个奇怪行为 我创建了这样一个音频元素 <audio id="audio" controls preload="none" src="http://www.noiseaddicts.com/samples/4353.mp3"> 我仅在Safari中使用此脚本时遇到几个问题 由于未知原因,即使我没有调用load方法,即使我指定了preload=“none”属性,音频也会开始加载。在我请求之前,如何强制Safa

我在MacOS10.9.4下的Safari7.0.6中观察到HTML5音频的一个奇怪行为

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

<audio id="audio" controls preload="none" src="http://www.noiseaddicts.com/samples/4353.mp3">
我仅在Safari中使用此脚本时遇到几个问题

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

  • 加载开始时,音频会暂停几次。为什么会停下来?我怎样才能修好它?这在任何其他浏览器中都不会发生。这会导致音频加载4-5次,这会导致在播放之前出现较大的延迟

  • 谢谢你的帮助


    这里有一个例子说明了这个问题。

    苹果论坛对这个问题的讨论(也没有回复):
    $(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');
    
      }
    
    );