【发布时间】:2012-08-10 19:47:33
【问题描述】:
我正在为一个必须播放背景音乐的小型网络游戏创建页面。这些页面应该与大多数桌面浏览器兼容,包括 IE8(但我们可以忽略移动浏览器)。
当然,我想让用户停止播放音乐。这就是棘手的地方。
这是我目前使用的(使用 jQuery):
<audio id="main_audio" autoplay="autoplay" preload="auto" loop="loop">
<source src="sounds/bgmusic.mp3" type="audio/mpeg" />
<source src="sounds/bgmusic.ogg" type="audio/ogg" />
<embed hidden="true" autostart="true" loop="true" src="sounds/bgmusic.mp3" />
</audio>
<div id="controls" class="controls">
<a id="playpause" class="play">Play/Pause</a>
</div>
<script>
function isPlaying(audio) {return !audio.paused;}
var a = document.getElementById('main_audio');
$('#playpause').on('click', function() {
if (isPlaying(a)) {
a.pause();
} else {
a.play();
}
});
</script>
这适用于所有浏览器,但 IE。 (我在 Windows XP 上,所以目前在 IE8 上进行测试。) 在 IE8 上,音频开始播放(这很好),但控件不执行任何操作,因此无法停止音乐(然后重新启动)。
我怎样才能使这个脚本也适用于 IE?也就是说,和embed标签交互(但只在IE中)?
【问题讨论】:
标签: javascript html internet-explorer audio embed