Есть сайт, есть папка в корне сайта, в папке загружены куча mp3-файлов. Нужен скрипт, который проигрывает бесконечно этот "плейлист" с папки.
На сайте выводим аудио-плеер, с минимальными кнопками ( < || > ), можно с названием трэка и обязательно без отображения плейлиста. При нажатии Play проигрыватель начинает играть не с первого трека в папке, а с того момента, что скрипт проигрывал до этого. И чтобы включенное "Радио" на сайте играла в фоновом режиме, т.е. переходим по страничкам, а музыка играет. Можно зафиксировать Плеер.
Сайт кстати на DLE, но думаю это особо роли не будет играть в данном случае.
Перерыл весь инет, но что-то подобное не нашел. Обычно стандартные плееры с плейлистами, в которых нужно прописывать каждый трэк вручную.
Вариантов море. В вашем случае есть папка с треками. Вам нужно пройтись по всем файлам узнать время каждого и составить плейлист (тоесть сделать некую карту, которая несет информацию о том в какое время какой трек играет), его желательно где-то сохранить (БД, кеш и т.д. главное на сервере)
Далее все просто, пользователь открывает сайт (имеется ввиду первое открытие, кстати сайт должен быть SPA по другому никак) делается обращение к серверу на получение плейлиста, в котором обязательно нужно отметить какая песня играет сейчас и ссылка на ее файл. Далее уже в браузере стартуете плеер и как только текущая песня кончилась запускаете следующую
Необязательно узнавать время. У тега audio есть множество событий, в том числе и событие окончания трека. По событию подсовывать в src следующий файл mp3 и все. И да, сайт должен быть spa
Алексей, вы не о том думаете, узнать время трека нужно именно на бэкенде для того чтобы составить плейлист, время нужно чтобы понимать какая именно сейчас играет песня, а уже на клиенте нужно использовать тот метод что описали вы.
Опишу понятнее. Допустим плейлист у нас все таки более менее управляемый и хранится в базе данных.
Есть таблица playlists и на каждый день там какое-то расписание
Вторая таблица playlist_items тут хранится информация о дорожках. Важна такая информация как время начала, время завершения, длительность (опционально если есть первые два)
Пользователь заходит на сайт, получает плейлист и с сервера (это важно мы определяем какая дорожка сейчас ему сообщаем и он начинает ее грузить и слушать, далее по плейлисту)
P.S. мысль не совсем просто получилось передать ;D, но думаю вы поняли что мы говорим о разных вещах
Константин Б., я не спорю, конечно можно как вы предлагаете. Я лишь предложил альтернативу, когда бэк передает только список файлов а все остальное делается на фронте выше описанным мной способом. Лучше этот способ или хуже трудно сказать, нужно тестировать.
Ну....Можно в Cookie или в localStorage сохранять состояние div'a,который будет отвечать за отображение проигрывания,при загрузке страницы подгружать их.Или погугли про Web Audio Api.Крутаю штука,думаю с твоей проблемой точно поможет)