HTML5 Audio останавливается до конца - PullRequest
0 голосов
/ 24 мая 2018

Тестовая страница: 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>

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...