我正在基于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);
}

09-25 18:50