测试页:http://fr34k.ch/public/test.html
问题:Chrome不会发送" onended"事件。甚至没有到达mp3文件的末尾。如果你只是在浏览器中打开mp3文件,它与我的编码无关,因为它甚至无法正常工作。 Firefox可以发送一个" onended"事件,但歌曲的持续时间通常是错误的。
我还能做些什么来找出这首歌何时不再播放?
问题也发布在此处:https://bugs.chromium.org/p/chromium/issues/detail?id=846265#c1
var audio = document.getElementById('audio');
$('#clickButton').click(function(){
audio.src = 'http://fr34k.ch/public/Blem.mp3';
});
$('#nearEndButton').click(function(){
audio.currentTime = audio.duration-20;
});
audio.oncanplay = function () {
audio.play();
}
audio.onended = function(){
alert('On Ended is called!');
}
setInterval(function(){
var div = $('#textarea');
div.val('CurrentTime: ' + audio.currentTime + '\nFulltime: ' + audio.duration + '\nEnded: ' + audio.ended);
}, 100);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio id='audio'></audio>
<button id='clickButton'>Load and Play Song</button>
<button id='nearEndButton'>Move to end</button>
<a href='http://fr34k.ch/public/Blem.mp3'>Open Blem.mp3</a><br>
<textarea id='textarea' style='width: 200px; height: 200px;'></textarea>
&#13;
干杯!