7

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

当我启动页面时出现错误:Unexpected call to method or property access

这是我在 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 抛出错误的地方。

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

4

3 回答 3

2

oogIE 不支持 ..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>
  • metadata:表示只获取音频元数据(例如长度);它还允许浏览器只下载足够的文件来获取大小、尺寸和持续时间等元数据。

有时preload="auto"可能会起作用,但您必须进行测试!?

您可能必须在audioelementssrc属性中指定您的音频源,而不需要子source元素

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

也正在使用DOCTYPEHTML5 的权利?

<!DOCTYPE html>

并且正在meta tag像这样使用 IE9 的权限?

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

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

document.getElementById("musicGame");

一些有用的资源链接:

于 2015-11-24T15:53:11.917 回答
0

Mp3 工作,IE 的问题是播放 .wav 和 .ogg

适用于 IE9 - Chrome - Safari 和 firefox

var sound = new Audio("/pop.mp3");
sound.play();
于 2012-08-17T09:14:17.187 回答
0

将 DOCTYPE 声明添加<!DOCTYPE html>到 html 代码的开头。它告诉浏览器如何以标准兼容模式呈现页面。现在HTML5音频将在 IE9 中工作。

于 2014-09-02T11:09:49.993 回答