HTML5音频:检测播放音频需要实际点击的时间

时间:2013-04-26 16:28:03

标签: jquery html5 html5-audio

我正在使用jQuery,我注意到当我点击链接导致音频播放时,它在iPad上工作正常。据我了解,音频只允许播放,因为用户明确点击了某些内容。但是,如果我这样做是为了点击链接导致某些内容淡入,然后fadeIn回调播放音频,它就不再在iPad上工作,除非您再次点击该链接(在此之后)元素已经消失了)。这是一个例子:

http://jsfiddle.net/3sg2v/

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

我发现iPad并不是唯一具有此功能的设备。我在运行Android 4.1.2的摩托罗拉Xoom上试用了上面的例子,并在股票浏览器和Chrome 18.0.1025469中都有相同的行为。但是,它适用于我的摩托罗拉Droid 2,在股票浏览器和Firefox 20.0.1中运行Android 2.3.4(音频播放只需点击链接一次)。

我的问题是检测此行为的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

这似乎有效(jsFiddle demo):

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警告“假”,如预期的那样。