Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2018, 08:35   #1
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
Восклицание Плеер + ПлейЛист

Всем Привет!

Возможно не в ту ветку, но тем не менее

Вопрос более логического характера, и так, есть плеер (HTML5) и готовый плейлист (формируется из БД), к примеру:
11:55:00 - Трек 1 - длительность 5м:00с
12:00:00 - Трек 2 - длительность 7м:55с
---
16:00:00 - Трек N - длительность х:хх
пользователь заходит на сайт в 12:03:00 нужно автоматом стартануть плеер с "Трек 2" начиная с 3й минуты проигрования

Как стартануть трек и с какой позиции по времени без проблем, вопрос в том как все это дело вычислить?
1. засекать текущее время захода на сайт
2. потом бежать по списку треков и вычислять в какой временный диапазон попадает текущее время (в какой трек)
3. смотреть начало трека по времени и математически вычислять сколько уже звучит трек
4. стартовать трек и добавлять уже прошедшее время звучания

Подскажите, в правильную сторону думаю?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Старый 16.08.2018, 11:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от spirit-ua Посмотреть сообщение
и готовый плейлист (формируется из БД)
это предполагает наличие сервера.
вот я бы на сервере и брал текущее время, вычислял какой трек и на какой секунде должен начать играть и отдавал на клиента эту информацию (список треков, номер трека, который должен играть, и время начала воспроизведения. а JS на клиенте просто запускает нужный трек с нужной позиции.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2018, 11:49   #3
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию

Цитата:
вот я бы на сервере и брал текущее время, вычислял какой трек и на какой секунде должен начать играть и отдавал на клиента эту информацию (список треков, номер трека, который должен играть, и время начала воспроизведения. а JS на клиенте просто запускает нужный трек с нужной позиции.
так и есть, на сервере лежит БД, плейлист и т.д.
Клиент делает запрос, сервер возвращает плейлист, номер трека и "позицию в треке", клиент уже у себя поднимает плеер и запускает трек с сервера с нужной позиции, все верно?
и еще, синхронизацию переодически по времени с сервером нужно делять? ну глюканула машина у клиента, тормознула, трек приостановился на 2 сек и получается что на сервере уже по времени другой трек, а у клиента еще предыдущий дотягивается... как часто "читать" сервер на предмет совпадения? или это прописать на стороне клиента в JS? можно немного разжевать?
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Старый 16.08.2018, 13:29   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от spirit-ua Посмотреть сообщение
Клиент делает запрос, сервер возвращает плейлист, номер трека и "позицию в треке", клиент уже у себя поднимает плеер и запускает трек с сервера с нужной позиции, все верно?
Да, я именно это и предлагал.

Цитата:
Сообщение от spirit-ua Посмотреть сообщение
как часто "читать" сервер на предмет совпадения? или это прописать на стороне клиента в JS? можно немного разжевать?
извините, я ничего Вам "разжевать" не смогу - у меня ноль опыта в этом всём.
пишу чисто умозрительно.


Цитата:
Сообщение от spirit-ua Посмотреть сообщение
и еще, синхронизацию переодически по времени с сервером нужно делять? ну глюканула машина у клиента, тормознула, трек приостановился на 2 сек и получается что на сервере уже по времени другой трек
ой. что-то мне подсказывает, что Вы изобретаете аналог потоковой трансляции...
Может быть, на сервере Вам просто вести потоковую трансляцию звука, а клиентом только воспроизводить её (ну и показывать всякие списки/плейлисты)?
Аналог сетевой радиостанции?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.08.2018, 14:02   #5
spirit-ua
Форумчанин
 
Аватар для spirit-ua
 
Регистрация: 04.06.2009
Сообщений: 351
По умолчанию

Цитата:
ой. что-то мне подсказывает, что Вы изобретаете аналог потоковой трансляции...
Может быть, на сервере Вам просто вести потоковую трансляцию звука, а клиентом только воспроизводить её (ну и показывать всякие списки/плейлисты)?
Аналог сетевой радиостанции?
и да и нет

дело в том что на сервере будет формироваться список с треками, причем список будет динамический, т.е. в списке будут "окна", пользователь может залить на сервер трек и "вставить" в свободное окно, получается нужно время от времени читать плейлист
как вариант думал обновлять плейлист по окончанию проигрывания трека в событии player.onended самого плеера, вот такой алгоритм нужно организовать

и еще вопрс: потоковая трянсляция... это нужно слить все треки в один поток и транслировать как "единое целое"? насколько сложно это реализовать? спец инструменты? скрипты и т.д? если есть опыт хоть несколько примеров или пните в нужную сторону?
дело в том что плей лист не всегда будет динамический, если пользователи забьют треками на сутки, к примеру, тогда велосипед с плейлистом и обновлением не нужен, просто залить в "поток" 12 часов звука и транслировать
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
spirit-ua вне форума Ответить с цитированием
Старый 16.08.2018, 14:17   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

к сожалению, далее пошла уже конкретика (и это правильно и хорошо!) и я уже в силу отсутствия опыта и знаний не могу ничего дельного в тему сказать.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плейлист Dialog108 Мультимедиа в Delphi 0 31.03.2012 06:23
плейлист ivannes Компоненты Delphi 7 10.08.2011 04:44
Плейлист кинотеатра angels-group БД в Delphi 0 29.04.2011 23:35
BassPlayer плейлист Alex2009 Мультимедиа в Delphi 13 12.03.2010 19:07
MediaPlayer плейлист pnz_punisher Общие вопросы Delphi 5 10.01.2010 00:58