我有这个解决方案在chrome中工作:
Play an audio file using jQuery when a button is clicked
但是firebug控制台说:
HTTP "Content-Type" of "audio/mpeg" is not supported. Load of media resource http://path/to/sound.mp3 failed.
有没有办法在这个脚本中定义一个ogg和mp3文件(假设这样可以让声音在firefox中播放):
<script>
$(document).ready(function() {
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'http://path.com/to/sound.mp3');
$('#play_it').click(function() {
audioElement.play();
});
});
</script>
谢谢你。
更新
我尝试在mp3参考下方添加另一个对该文件的引用并且它有效,但不确定这是否是最佳解决方案:
<script>
$(document).ready(function() {
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'http://path.com/to/sound.mp3');
audioElement.setAttribute('src', 'http://path.com/to/sound.ogg');
$('#play_it').click(function() {
audioElement.play();
});
});
</script>
答案 0 :(得分:1)
您必须将<source>
元素添加到<audio>
元素才能指定不同的声音格式
<audio>
<source src="sound.ogg" type="audio/ogg">
<source src="sound.mp3" type="audio/mpeg">
</audio>
jQuery的:
var audioElement = $('audio');
var sourceElement = $('source');
sourceElement.attr('src', 'http://path.com/to/sound.mp3');
sourceElement.attr('type', 'audio/mpeg');
audioElement.append(sourceElement);
sourceElement = $('source');
sourceElement.attr('src', 'http://path.com/to/sound.ogg');
sourceElement.attr('type', 'audio/ogg');
audioElement.append(sourceElement);