这是我的剧本
function playSound(soundfile) {
document.getElementById("ui-btn-text").innerHTML=document.getElementById("ui-btn-text").innerHTML +
"<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
}
这是我的代码的一部分
<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;'
id="ui-btn-text" onclick="playSound('image/button.mp3');"
href="#" data-ajax="false" data-transition="slide"></a>
我不知道为什么音频文件无法播放!
还是我在做什么更好的解决方案?
最佳答案
您编写它的方式应产生一些HTML,例如:
<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;' id="ui-btn-text" onclick="playSound('image/button.mp3');" href="#" data-ajax="false" data-transition="slide">
<embed src="image/button.mp4" hidden="true" autostart="true" loop="false" />
</a>
如果它已经被隐藏了,为什么不把它放在页面上某个地方,然后单击按钮时触发音频播放。设置
autostart="false"
,然后在单击按钮时使用JS / JQuery播放mp4。的HTML
<a style='font-family:Arial,Helvetica,sans-serif;font-size:200%;' id="ui-btn-text" onclick="playSound('ui-btn-sound');" href="#" data-ajax="false" data-transition="slide">
</a>
<embed src="image/button.mp4" hidden="true" autostart="false" loop="false" id="ui-btn-sound" />
的JavaScript
function playSound(id) {
var audioFile = document.getElementById(id);
audioFile.Play();
return false;
}
我个人建议使用HTML5
audio
标记,并在需要时返回嵌入式选项。<audio controls>
<source src="image/button.mp4" type="audio/mp4">
<!-- Fail Over -->
<embed src="image/button.mp4" hidden="true" autostart="false" loop="false" id="ui-btn-sound" />
<a href="" onclick="playSound('ui-btn-sound')">Play</a>
</audio>
audio
标记也有很多方法可以通过JS / JQuery来控制其外观和功能。您可能需要研究audio.canPlayType('audio/mp4');
之类的东西。这是一个较旧的示例,有人挑战我制作一架在每个音符之间没有滞后的钢琴,并允许在播放新音符时停止其他音符:http://www.yrmailfrom.me/projects/html5/piano.php
编辑:
回答了这个问题之后,我受到启发,创建了一个快速的JQM HTML5播放器:http://www.yrmailfrom.me/projects/html5/audioplay.php
希望对您有帮助。