微信浏览器实现音乐自动播放

转至:http://www.ipastimes.com/post/52.html

  HTML5音频播放在移动端有局限性,在移动版 Safari 中加载的页面上,不能自动播放音频文件。音频文件只能从用户触发的触摸(单击)事件加载。如果在 HTML 标记中使用了 autoplay 属性,那么移动版 Safari 将会忽略这个属性,并且不会在加载页面时播放此文件,避免移动端流量在不知不觉中浪费,很人性化的设计。但对HTML5应用开发者来说,这不是个好消息。

    网上查找了很多资料,通过hack手段来实现自动播放是不可能的,幸运的是,我们大多数情况下是依赖微信浏览器的。这里有个方法貌似可行:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Audio auto play in mobile</title>
    <script src="jquery-1.10.2.min.js"></script>
</head>
<body>
    <audio preload="preload" id="car_audio" src="music.mp3" loop=""></audio>
<script>
    setTimeout(function(){
        $(window).scrollTop(1);
    },0);
 
    /*音乐*/
 var audio = $('#car_audio');
    var isPlaying = false;
    function playAudio() {
        var audio = $('#car_audio');
        if (audio.attr('src') == undefined) {
            audio.attr('src', audio.data('src'));
        }
        audio[0].play();
        isPlaying = true;
    }
    $(function(){
        playAudio();
        document.addEventListener("WeixinJSBridgeReady", function () {
            WeixinJSBridge.invoke('getNetworkType', {}, function (e) {
                network = e.err_msg.split(":")[1];  //结果在这里
 playAudio();
            });
        }, false);
    })
</script>
</body>
</html>

  

强调一下,只适用于微信浏览器。

测试环境:iPhone 6  ios 8.3

测试时发现的问题:如果mp3文件过大(大于2M),有可能不会自动播放, 又换了300KB的,测试OK!

有发现更有效的方法,或者无效机型,欢迎留言!

转载于:https://www.cnblogs.com/mauricechans/p/5595952.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值