繁体   English   中英

移动设备上的音频事件监听器不起作用

[英]Audio event listener on mobile doesn't work

我无法在移动设备上的事件监听器中开始播放音频剪辑

<html>
<head>
<script src='http://code.jquery.com/jquery-2.1.4.min.js'></script>
<script>
$(document).ready(function() {
    // Works with PC and Mobile
    $("#play").click(function() {
        var test = new Audio("http://www.w3schools.com/html/horse.ogg");
        test.volume = 1;
        test.play();
    });

    // Works with PC only
    $("#play2").click(function() {
        var test = new Audio("http://www.w3schools.com/html/horse.ogg");
        test.volume = 1;

        test.addEventListener('canplaythrough', function() {
            test.play(); // or this.play();
        });
    });
});
</script>
</head>
<body>
<button id='play'>Play</button>
<button id='play2'>Play 2</button>
</body>
</html>

第一个按钮可在PC和Mobile上使用,但第二个带有事件监听器的按钮仅可在PC上使用。 我如何也可以在移动设备上使用它?

事件触发后,我可以执行alert(123); 它会执行,只是不会播放音频剪辑。

我找到了答案。

您必须致电:

test.play();
test.pause();

之后,您可以在触发事件之外控制音频元素。

除非事件直接调用(在这种情况下, click ),否则移动设备通常会阻止播放媒体。 这是为了防止移动数据的使用,但不幸的是限制了您可以对媒体执行的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM