【问题标题】:HTML5 audio IE9 error: Unexpected call to method or property accessHTML5 音频 IE9 错误:意外调用方法或属性访问
【发布时间】:2012-08-13 17:27:51
【问题描述】:

我在 IE9 中的部分 javascript 代码有问题。

当我启动页面时出现错误:意外调用方法或属性访问

这是我在 html 文件中的音频标签:

<audio controls loop preload id="musicGame">
  <source src="mp3/ambient.ogg" type="audio/ogg" />
  <source src="mp3/ambient.mp3" type="audio/mpeg" />
</audio>

我正在像这样在 javascript 中调用我的音频标签:

musicGame = $('#musicGame')[0];

然后我暂停它,因为我有一个静音按钮,我需要暂停页面上的所有歌曲才能静音。

musicGame.pause();

这是 IE9 抛出错误的地方。

有什么想法可能是错的吗?

【问题讨论】:

  • 将预加载更改为 preload="auto"。那它行得通吗?像大多数事情一样,IE 搞砸了这一切。
  • 我也有同样的问题。你找出是什么原因造成的吗?
  • 您发现问题了吗?我也有同样的问题。谢谢!

标签: javascript jquery html internet-explorer audio


【解决方案1】:

Mp3 可以,IE 的问题是播放.wav 和.ogg

适用于 IE9 - Chrome - Safari 和 firefox

var sound = new Audio("/pop.mp3");
sound.play();

【讨论】:

    【解决方案2】:

    将 DOCTYPE 声明 &lt;!DOCTYPE html&gt; 添加到 html 代码的开头。它告诉浏览器如何以符合标准的模式呈现页面。现在HTML5 音频可以在 IE9 中使用了。

    【讨论】:

      【解决方案3】:

      oog 在 IE 中不受支持 .. mp3 但在 IE9+ 中受支持 ..

      尝试设置您的preload 属性,因为IE9 可能有preload 属性的问题,所以尝试将其设置为preload="metadata"

      <audio controls loop preload="metadata" id="musicGame">
         <source src="mp3/ambient.ogg" type="audio/ogg" />
         <source src="mp3/ambient.mp3" type="audio/mpeg" />
      </audio>
      
      • 元数据:表示只获取音频元数据(例如长度);它还允许浏览器只下载足够的文件来获取大小、尺寸和持续时间等元数据。

      有时preload="auto" 可能有效,但您必须进行测试!?

      您可能必须在 audio 元素 src 属性中指定您的音频源,而不是子 source 元素

      <audio src="mp3/ambient.mp3" controls autoplay loop  id="musicGame"> 
          HTML5 audio not supported
      </audio>
      

      是否也在为 HTML5 使用正确的DOCTYPE

      <!DOCTYPE html>
      

      并且像这样为 IE9 使用正确的meta tag

      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      

      除了使用$('#musicGame')[0],您是否也尝试过使用?

      document.getElementById("musicGame");
      

      一些有用的资源链接:

      【讨论】:

      • 我正在休病假,所以我现在无法检查这是否有效。赏金将在 3 天内结束。答案虽然有点模糊。如果您看到这个问题,它与 mp3 无关,因为它包含在源代码中。我有一种感觉 preload="metadata 可能是什么东西,但我必须在星期二回来时检查一下。
      • 以 mp3 为例,尝试在音频标签上使用 source 属性而不是使用 source 元素。当您有时间查看和测试时,看看您是否发现了差异
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多