Задать вопрос
@uroot

Как восспроизвести аудио в React после загрузки страницы?

Мне нужно при отрисовки компонента на автомате восспроизвести аудио посредством JS. Нужно именно так, потому что на JS обрабатывается сама дорожка. Я пробую так:

function onPlay(audioRef) {
     ...
     audioRef.current.play()
  }

 ...

  useEffect(() => {
    return onPlay(audioRef)
  }, [])

  return(
    <audio
      ref={audioRef}
      loop
      src={sound}>
    </audio>
  )


Но получаю ошибку:
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.
Как правильно восспроизвести аудио на автомате без участия юзера?
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
kirbi1996
@kirbi1996
Не совсем понятно что в твое случае audioRef, ты его передвешь в функцию но где он у тебя инициализируется не понятно. Попробуй создать может быть обычный state в useEffect его перевести в true, и уже посмотреть что будет дальше. Ну это подойдет если ты ожидаешь boolean значение, хотя можно сделать setState любого типа туда
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽