Тестовая страница: http://fr34k.ch/public/test.html
Проблема: Chrome не отправляет событие «onended».Даже не достигает конца mp3-файла.Это не связано с моим кодированием, потому что оно даже не работает, если вы просто откроете mp3-файл в браузереFirefox может отправлять «включенное» событие, но длительность песни часто рассчитывается неправильно.
Есть ли что-нибудь, что я могу сделать, чтобы узнать, когда песня больше не воспроизводится?
Проблема также размещена здесь: 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>
Ура!