Непрерывное воспроизведение очереди плейлистов в приложении на основе ReactJavascript

Форум по Javascript
Ответить
Anonymous
 Непрерывное воспроизведение очереди плейлистов в приложении на основе React

Сообщение Anonymous »

Я занимаюсь созданием веб-плеера React и пытаюсь реализовать непрерывное воспроизведение очереди плейлистов.
Текущая логика: пользователь щелкает любой плейлист, начинает воспроизводиться случайно выбранный трек, а затем должны воспроизводиться остальные выбранные треки плейлиста, но этого не происходит, после первого трека наступает мертвая тишина. Я также пытаюсь учитывать настройки кнопок перемешивания и зацикливания.
Текущий код - беспорядок, я попробовал почти все, что мне удалось найти, даже пытался использовать AI, но это не привело меня к практическому решению.
демо
репозиторий
Списки воспроизведения определяются как массив объектов, каждый из которых содержит «имя» и список «треков» с «именем». и «url», разрешенный с помощью PUBLIC_URL, чтобы файлы были видны в средах разработки и разработки.
"setSelectedPlaylist(pl)" запускает автоматическое воспроизведение случайной дорожки из выбранного списка воспроизведения.
Хук UseEffect инициализирует "ChiptuneJsPlayer" один раз при запуске компонента. Он устанавливает "endHandler", который запускает функцию "onTrackEnd" после завершения трека.
"playTrack(index)" проверяет индекс трека и список воспроизведения, загружает новый трек через "player.current.load()" с возвратом к fetch() и ArrayBuffer.
Обратный вызов "onTrackEnd" должен автоматически воспроизводить следующий трек на основе Режим перемешивания, режим цикла
currentTrackIndexRef и selectedPlaylistRef должны отслеживать текущую позицию.
Надеюсь, что этот поток мыслей немного прояснит ситуацию.
Может быть, у кого-то с большим опытом и знаниями есть простое решение этой проблемы.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -based-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»