javascript - Mengapakah audio html5 perlu diklik pada mainan dalam WeChat sebelum ia boleh dikawal dengan .play().pause()?
过去多啦不再A梦
过去多啦不再A梦 2017-05-19 10:14:23
0
1
556

Kod berikut bertujuan untuk membenarkan halaman meluncur ke julat tertentu dalam WeChat untuk memainkan audio tertentu
Masalah yang dihadapi pada masa ini ialah audio tidak dimainkan apabila halaman meluncur, tetapi selagi setiap audio diklik untuk dimainkan. dan kemudian dijeda, ia boleh dimainkan dengan meluncur. Boleh saya bertanya mengapa ini kod yang tidak ditulis dengan selamat?


    <audio id="a1" src="http://mat1.gtimg.com/ln/images/mp3/11.mp3" loop controls  preload="load"></audio>
    <audio id="a2" src="http://mat1.gtimg.com/ln/images/mp3/22.mp3" loop controls  preload="load"></audio>

    <p class="wrap" id="wp">
        <p class="audio2"></p> <img src="http://img1.gtimg.com/ln/pics/hv1/133/63/2205/143396323.jpg" alt="" width="100%"> </p>
    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script>
        function autoPlayAudio1() {
            wx.config({
                // 配置信息, 即使不正确也能使用 wx.ready
                debug: false
                , appId: ''
                , timestamp: 1
                , nonceStr: ''
                , signature: ''
                , jsApiList: []
            });
            wx.ready(function () {
                var mp3 = document.getElementById('bgmusic')
                    , a1 = document.getElementById('a1')
                    , a2 = document.getElementById('a2');
                //a1.play();
                console.log('ok')
                $(window).scroll(function () {
                    var x = $('.audio2').offset().top - $(window).scrollTop();
                    console.log(x)
                    if (x < 4500 && x > 4000) {
                        a1.play();
                        a2.pause();
                    }
                    else if (x < 4000 && x > 3500) {
                        a2.play();
                        a1.pause();
                    }
                });
            });
        }
        autoPlayAudio1();
    </script>
过去多啦不再A梦
过去多啦不再A梦

membalas semua(1)
阿神

Anda boleh cuba menggantikan acara yang dipantau dengan touchmove.
Dalam sesetengah terminal mudah alih, terutamanya ios, audio tidak boleh dimainkan secara automatik tanpa interaksi pengguna atau mempunyai js untuk mengawal main balik secara langsung. Ini adalah had sistem.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan