Алгоритм работы такой:
1. на стороне сервера генерирую mp3 файлы,
2. на клиент через ajax возвращаю массив ссылку на файл и его длину в секундах,
3. записываю их в массив js.
После этого в том же интервале что и вывожу массив пытаюсь проигрывать файлы из массива js последовательно, и удалить проигравший файл из массива, но вот здесь ни чего не получается, а может я вообще не в нужном направлении иду?
Вопрос в том как можно воспроизвести файлы последовательно без одновременного запуска?
var mp3List = [];
function show() {
$.ajax({
url: "/monitor/index",
dataType: 'json',
timeout: 2000,
error: function () {
console.log('error')
},
success: function (data) {
if (data.data.audio.length != 0)
mp3List.push(data.data.audio[0]);
}
});
}
function voise(list){
if (list.length != 0) {
var audio = new Audio(list[0]['name']);
audio.play();
setTimeout(function () {
list.slice(0,1);
}, list[0]['time']*1000);
} else {
console.log('Пустой лист с аудио');
}
}
$(document).ready(function () {
setInterval(function () {
show();
//console.log(mp3List);
voise(mp3List);
}, 4000);
});