前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >部分设备在微信内无法播放audio的解决方案

部分设备在微信内无法播放audio的解决方案

作者头像
meteoric
发布2018-11-20 11:19:38
1.5K0
发布2018-11-20 11:19:38
举报
文章被收录于专栏:游戏杂谈游戏杂谈

临时接到一个紧急的需求,一个活动页面,在某台iPhone 5S设备上无法播放音频,其它设备均正常。我接到这个任务时,也是一脸懵逼,试过在audio标签上添加controls属性来显示audio,结果发现在界面触发事情里,无计怎么调用audio对象的play方法都没有用,但是一旦激活audio标签后,就可以调用play、pause方法 - -

最后搜索了一下,找到一个解决方案:

代码语言:javascript
复制
function audioAutoPlay(id){
    var audio = document.getElementById(id);

    var play = function() {
        document.removeEventListener("WeixinJSBridgeReady", play);
        document.removeEventListener("YixinJSBridgeReady", play);

        audio.play();
        audio.pause();
        // document.removeEventListener("touchstart", play, false);
    };
    
    audio.play();
    audio.pause();

    //weixin
    document.addEventListener("WeixinJSBridgeReady", play, false);
    //yixin
    document.addEventListener('YixinJSBridgeReady', play, false);

    // document.addEventListener("touchstart", play, false);
}
audioAutoPlay('audio1');

有需要的同学自取吧,我尝试过,必须要在WeixinJSBridgeReady的回调中调用play方法才会激活audio对象,否则之后再调用play无效。搞前端就是这么蛋疼,后端就没有这么蛋疼的事儿了… 

参考:解决ios下的微信打开的页面背景音乐无法自动播放

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档