首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >safari浏览器不支持ipad/iphone,Android中的HTML5音频标签

safari浏览器不支持ipad/iphone,Android中的HTML5音频标签
EN

Stack Overflow用户
提问于 2014-02-26 14:49:16
回答 1查看 1.7K关注 0票数 1

我正在做一个基于jquery动画的项目,它的动画作品在桌面上运行良好(火狐,铬,歌剧,IE)也支持HTML5音频标签,但在Ipad/iphone/ Android safari音频标签不支持support.Its在Ipad/iphone/ Android Firefox上运行良好。我已经使用过这个函数:

代码语言:javascript
运行
复制
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函数中给出了直接音频标签,这与我前面提到的问题相同。我需要在没有任何click.if的背景下播放声音,我使用自动播放方法,所以它只播放一次声音,但我需要在事件上多次播放声音。

EN

回答 1

Stack Overflow用户

发布于 2014-02-27 11:52:13

尝试在音频标签上添加autoplay属性:

代码语言:javascript
运行
复制
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中-类似于:

代码语言:javascript
运行
复制
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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22033857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档