Как получить тег HTML5 Audio для работы в веб-приложении с опцией автовоспроизведения?Аудио HTML5 Autoplay WebWorks
Ex: При загрузке документа Аудиоэлемент src изменен с помощью javascript, тогда audioElement.play() - это не работает, вам нужно привязать клик другой ссылки или кнопки к audioElement.play() и нажать «СНОВА». ..
Любые идеи?
function playSongNow(currentID) {
var audioElement = document.createElement('audio');
audioElement.setAttribute('autoplay', 'true');
audioElement.setAttribute('preload', 'true');
audioElement.setAttribute('src', 'http://' + sessionStorage.url + ':' + sessionStorage.port + '/rest/stream.view?u=' + sessionStorage.user + '&p=' + sessionStorage.pass + '&v=1.6.0&c=BerrySonic&id=' + currentID);
audioElement.load();
audioElement.addEventListener("load", function() {
audioElement.play();
$(".duration span").html(audioElement.duration);
$(".filename span").html(audioElement.src);
}, true);
$('.play').click(function() {
audioElement.play();
});
$('.pause').click(function() {
audioElement.pause();
});
$('.volumeMax').click(function() {
audioElement.volume=1;
});
$('.volumestop').click(function() {
audioElement.volume=0;
});
$('.stop').click(function() {
audioElement.pause();
audioElement.currentTime = 0;
});
$('.playatTime').click(function() {
audioElement.currentTime= 35; //Testing skipping so used 35
audioElement.play();
});
}
playSongNow вызывается HTML:
<a onclick="playSongNow('2f6d656469612f52616964426f782f4d757369632f4164656c652f32312f4164656c65202d2052756d6f7572204861732049742e6d7033');"><li>Rumour Has It</li></a>
NEW: На самом деле я думаю, что я сузил проблему до:
audioElement.addEventListener("load", function() {
audioElement.play();
$(".duration span").html(audioElement.duration);
$(".filename span").html(audioElement.src);
}, true);
Я попытался с помощью "canplaythrough" Но ни один из них не работает, чтобы определить, когда прошло достаточно данных, чтобы реально играть, потому что если вы делаете:
audioElement.load();
audioElement.play();
Я попробовал следующее событие:
audioElement.addEventListener('canplay', function() {
alert('canplay');
audioElement.play();
});
И это работает, но это не означает, что звук может играть без буферизации делает это? Он также мгновенно запускает событие «canplaythrough».
Некоторым руководством по этим мероприятиям было бы удобно.
Когда и как называется 'playSongNow (currentID)'? – buschtoens
Пожалуйста, ознакомьтесь с обновленным кодом, чтобы указать, как его назвать. Благодаря! –
Вы добавляете этот звук в тело? Если нет, то почему? – mowwwalker