我一直在搜索并将其简化为导致问题的原因。
<audio id="SoundHandle" style="display:none" />
<script type="text/javascript">
SoundHandle = document.getElementById('SoundHandle');
SoundHandle.src = 'test.ogg';
SoundHandle.play();
</script>
以上代码在Chrome中运行良好,当我仍然进行适当的检查时,它适用于IE 9中的MP3。但是在FireFox中,它根本不会发出声音,当我将其更改为这个布局,我把它放在页面的顶部。现在在Firefox中,除了不播放声音之外,脚本标签下方的任何内容都不会呈现给页面。
有人对此有所了解吗?
答案 0 :(得分:0)
有几件事:
有一些特定于JS的事情可以继续,在这里,还有一些特定于服务器的事情可能会继续发生。
要解决上述所有问题,首先尝试一下。
<audio id="player" controls>
<source src="test.ogg" type='audio/ogg; codecs="vorbis"'>
</audio>
看看是否能解决您的游戏问题。 如果确实如此,那么您可能正在处理JavaScript问题。
但是如果该播放器根本不让你播放音频,即使它是100%的HTML,那么你正在研究服务器问题。
有两个罪魁祸首。第一个是MIME类型。 MIME类型是您在该源元素的“type”属性中看到的第一部分。
他们告诉程序他们应该如何读取文件中的数据。 在过去,您会在CSS(type =“text / css”)或JS(type =“text / javascript”)中看到它。
对于那些事情,它根本没关系 - 你的浏览器知道如何处理CSS以及如何处理JS,它们是一件大事。
FireFox 要求您的服务器必须设置为使用正确的MIME类型提供.ogg / .oga / .ogv文件。 即:FF需要知道将它们视为OGG文件而不是文本文件。
看看这里: https://developer.mozilla.org/en/Configuring_servers_for_Ogg_media
那应该是你调试的起点。 之后,我们可以谈谈JavaScript。
它在Chrome中运行的原因是因为Chrome可以猜测它是一个.ogg文件,即使服务器建议它是“text / html”文件。
答案 1 :(得分:0)
我的朋友,它正在发挥作用:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src = "";
</script>
</head>
<body>
<audio id="demo" src="song.ogg"></audio>
<div>
<button onclick="document.getElementById('demo').play()">Play the Audio</button>
<button onclick="document.getElementById('demo').pause()">Pause the Audio</button>
<button onclick="document.getElementById('demo').volume+=0.1">Increase Volume</button>
<button onclick="document.getElementById('demo').volume-=0.1">Decrease Volume</button>
</div>
</body>
</html>