我正在基于jquery动画的项目上工作,其动画在桌面(Firefox,chrome,opera,IE)上效果很好,也支持HTML 5音频标签,但在Ipad / iphone / Android Safari音频标签中不支持。 Ipad / iphone / Android firefox.i已在许多论坛中搜索到它并没有得到想要的结果。我已经使用了这个功能:
function playmusic(file1,file2)
{
document.getElementById('music11').innerHTML='<audio id="music1"><source src="'+file1+'" type="audio/ogg"><source src="'+file2+'" type="audio/mpeg"></audio>';
$("#music1").get(0).play();
}
我已经调用过类似的函数:playmusic(2.ogg','2.mp3');
如果我在音频标签中提供了自动播放功能,则可以,但是播放方法不起作用,并且我必须使用播放方法,因为在特殊情况下我的应用程序需要声音,请参见链接
http://solutions.hariomtech.com/jarmies/
我还更改了功能,在div和call函数中直接添加了音频标签,这与我上面提到的问题相同。我需要在后台播放声音,而无需单击。如果我使用自动播放方法,那么它只能播放一次声音,但是我需要在事件中多次播放声音。
最佳答案
尝试在音频标签上添加autoplay
属性:
function playmusic(file1, file2) {
document.getElementById('music11').innerHTML='<audio autoplay id="music1"><source src="'+file1+'" type="audio/ogg"><source src="'+file2+'" type="audio/mpeg"></audio>';
}
但是,我建议您构建一个适当的元素并将其插入DOM中-像这样:
function playmusic(file1, file2) {
var audio = document.createElement('audio');
audio.preload = 'auto';
audio.autoplay = true;
if (audio.canPlayType('audio/ogg')) {
audio.src = file1;
}
else if (audio.canPlayType('audio/mpg')) {
audio.src = file2;
}
document.getElementById('music11').appendChild(audio);
}