首页 > 联想 A698t webview audio.onended监听事件的一个bug

联想 A698t webview audio.onended监听事件的一个bug

手机系统是android4.03,在webview中监听音频播放结束事件时,遇到一个隐蔽的bug,代码示例如下:

var mess = $('#message'),
    startTime = Date.now(),
    i = 0;
$('audio').on('ended',function(){
    var time = Date.now() - startTime;
    var htmltext = '<br>'+time+':音频已到达结尾!(onended)'+i;
    i++;
    mess.append(htmltext);
});
$('#btn').on('click', function(){
    var audio = $('#voice')[0];
    audio.pause();
    audio.currentTime = 0;
});

具体来说,就是在音频播放至结尾,触发一次‘ended’事件后,点击按钮暂停播放,并将currentTime属性归零,会额外触发一次‘ended’监听事件。

暂时只在联想 A698t上发现这个问题,只好在调用暂停播放前,再检查一次音频播放状态了。

【热门文章】
【热门文章】