React Music Player – audioRef.play() не срабатывает при смене трекаJavascript

Форум по Javascript
Ответить
Anonymous
 React Music Player – audioRef.play() не срабатывает при смене трека

Сообщение Anonymous »

Я создаю простой музыкальный проигрыватель в React, который использует HTMLAudioElement через audioRef. Я ожидаю, что трек будет автоматически воспроизводиться каждый раз, когда я меняю currentTrack, но воспроизведение не начинается (хотя пользовательский интерфейс обновляется правильно).
Что я пробовал:
  • Проверенный audioRef.current не имеет значения null и src установлен.
  • Вызов вручную audioRef.current.play() в обработчике кликов работает.
  • Но внутри useEffect, вызванного currentTrack, происходит сбой молча (нет ошибок в консоли).
Соответствующий фрагмент кода:

Код: Выделить всё

useEffect(() => {
audioRef.current.play();
setIsPlaying(true);
}, [currentTrack]);
Ожидаемое поведение: новый трек начинает воспроизводиться сразу после обновления currentTrack.

Фактическое поведение: пользовательский интерфейс обновляется для отображения нового трека, но звук не воспроизводится.
Есть предположения, почему .play() не запускается в useEffect при изменении currentTrack?
Полный репозиторий (только для контекста): https://github.com/CHITRADAVIVEK/Music-player.git

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

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

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

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

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

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