2

最後に音が鳴る簡単なカウンターを作っています。デスクトップ Chrome では完全に動作しますが、Android の Chrome (それが重要な場合は ICS) では奇妙なバグがあります。

ここにコードがあります

<!DOCTYPE html>
<html lang="hu-HU">
<head>
<meta charset=utf-8>
    <title>-</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript"> 
        var snd;
        var buzzer;
        // refresh the counter, called every sec
        function refresh(time) {
            second = time % 60;
            $('#second').html(second < 10 ? '0' + second : second);
            if(second>55) 
                snd.play();             
        }

        $(function() {          
                snd = new Audio('ding.wav');                                
                var clock = 52;
                refresh(clock);
                window.setInterval(
                    function() {                        
                        clock++;
                        refresh(clock);
                    }, 
                    1000
                );
            }
        );

    </script>


    </style>
</head>
<body>

    <div id="second"></div>


<a href="#" onclick="doit();">Play</a>
<script>
    function doit() {
        snd.play();
    }
</script>
</body>
</html>

モバイル Chrome では通常、サウンドが再生されません。しかし、再生リンクを一度押すと、それは魅力のように機能します。これを修正する方法はありますか?

4

1 に答える 1

2

モバイル ブラウザーでは、ユーザーが開始したイベントなしで JavaScript がサウンドを再生するのを防ぎます。これは、MobileSafari と同じ動作です。

次の関連する SO の質問を参照してください。

于 2012-08-13T17:05:44.223 に答える