【问题标题】:Safari - HTML5 AudioSafari - HTML5 音频
【发布时间】:2011-08-04 16:24:28
【问题描述】:

我正在使用 javascript 来动态地使用源信息填充音频标签。在 Chrome 中运行良好,但在 Safari 中,音频标签中的源信息会发生变化,但它会播放同一首歌曲。关于为什么会发生这种情况的任何想法?

http://www.chicagowebguru.com/HTML5Player/

【问题讨论】:

    标签: html audio safari


    【解决方案1】:

    在 Safari 中,当您更改源时,您还必须在音频播放器上调用 .load() 以使其实际加载新源。

    其他浏览器似乎不需要这个。

    【讨论】:

      【解决方案2】:

      您是否尝试过重新创建节点?

      document.removeChild(document.getElementById("audio-player");
      
      var dynamicAudio = document.createElement("audio");
      dynamicAudio.name = "audio-player";
      dynamicAudio.id = "audio-player";
      var dynamicSound1 = document.createElement("source");
      var dynamicSound2 = document.createElement("source");
      var dynamicSound3 = document.createElement("source");
      dynamicSound1.src = "http://www.chicagowebguru.com/audio/RainbowConnection.mp3";
      dynamicSound2.src = "http://www.chicagowebguru.com/audio/RainbowConnection.ogg";
      dynamicSound3.src = "http://www.chicagowebguru.com/audio/RainbowConnection.wav";
      dynamicAudio.appendChild(dynamicSound1);
      dynamicAudio.appendChild(dynamicSound2);
      dynamicAudio.appendChild(dynamicSound3);
      
      refNode = document.getElementById("message-container");
      document.body.insertBefore(dynamicAudio,refNode.nextSibling);
      

      或者你也可以使用 jQuery

      【讨论】:

        猜你喜欢
        • 2022-01-08
        • 2012-09-05
        • 1970-01-01
        • 2013-03-11
        • 1970-01-01
        • 1970-01-01
        • 2015-12-05
        • 2014-08-22
        • 2014-04-01
        相关资源
        最近更新 更多