Я использую javascript для создания радио, и я пытаюсь дать ему различные функциональные возможности, но я должен быть в состоянии определить конец песни, чтобы она заработала.Есть ли способ сделать это?
Я пробовал разные методы, которые я нашел в Интернете, такие как .ended и тому подобное, но я не думаю, что они работают без использования html audio tag.Поэтому я попытался создать аудио-тег, который использует те же данные для источника, который использует мое радио js, и получить длину файла, чтобы остановить мой sourceNode в конце времени и создать новый, но я продолжаю получать нулевое значение, возвращаемое в качестве данных, так чтоэто тоже не работает.
Я хочу сделать что-то вроде:
context.onended = function() {
$.ajax({
url: '../scripts/radio.php',
data: {
attr1: 'value1'
},
success: function(data) {
console.log(data);
fileChosen = true;
setupAudioNodes();
var request = new XMLHttpRequest();
request.addEventListener("progress", updateProgress);
request.addEventListener("load", transferComplete);
request.addEventListener("error", transferFailed);
request.addEventListener("abort", transferCanceled);
request.open('GET', data, true);
request.responseType = 'arraybuffer';
// When loaded decode the data
request.onload = function() {
$("#title").html("Title");
$("#album").html("Goes");
$("#artist").html("Here");
onWindowResize();
$("#title, #artist, #album").css("visibility", "visible");
// decode the data
context.decodeAudioData(request.response, function(buffer) {
// when the audio is decoded play the sound
sourceNode.buffer = buffer;
sourceNode.start(0);
$("#freq, body").addClass("animateHue");
//on error
}, function(e) {
console.log(e);
});
};
request.send();
}
});
Я хочу, чтобы это запускалось в конце песни и воспроизводило следующий файл.Что бы сработало, если бы я мог узнать время окончания воспроизводимой в данный момент песни.