0

我正在使用 jQuery,我注意到当我制作它以便单击链接会导致音频播放时,它在 iPad 上运行良好。据我了解,仅允许播放音频,因为用户明确点击了某些东西。但是,如果我这样做是因为单击链接会导致某些内容淡入,然后fadeIn回调播放音频,除非您再次点击链接(在元素已经淡出之后),否则它不再在 iPad 上工作在)。这是一个例子:

http://jsfiddle.net/3sg2v/

请注意,在桌面浏览器中,您只需单击一次链接即可播放音频。

我发现 iPad 并不是唯一以这种方式运行的设备。我在运行 Android 4.1.2 的摩托罗拉 Xoom 上试用了上述示例,并在普通浏览器和 Chrome 18.0.1025469 中得到了相同的行为。但是,它可以在我的 Motorola Droid 2 上运行,在股票浏览器和 Firefox 20.0.1 中运行 Android 2.3.4(只需点击链接即可播放音频)。

我的问题是检测这种行为的最优雅的方法是什么?

4

1 回答 1

0

这似乎有效(jsFiddle 演示):

test_audio_played = false;

$('<audio>').on('play', function() {
    test_audio_played = true;
})[0].play();

setTimeout(function() {
    alert(test_audio_played);
}, 1);

桌面浏览器和运行 Android 2.3.4 的摩托罗拉 Droid 2 都按预期提示“真”,而 iPad 和运行 Android 4.1.2 的摩托罗拉 Xoom 按预期提示“假”。

于 2013-04-29T15:10:35.860 回答