微信瀏覽器實現音樂自動播放


轉至: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!

有發現更有效的方法,或者無效機型,歡迎留言!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM