Реагировать на набор audio.ended слушателя - PullRequest
0 голосов
/ 20 февраля 2019

Поскольку я исследовал некоторые ответы здесь, хороший способ добавить аудио в приложение React заключается в следующем:

import music from '~assets'

class Audio extends Component {
  state = {...}
  audio = new Audio(music)
  ...
  this.audio.play()
  this.audio.pause()
  ...
}

После реализации этого я понял, что не могу установить его в автоматический режим.Воспроизведение, если не приостановлено. Есть ли способ сделать это с текущей настройкой, не переключаясь на явное создание тега <audio />?

PS.На мой взгляд, главная проблема в том, что я не могу найти способ подключить onended слушатель или правильное место для проверки на this.audio.ended.

1 Ответ

0 голосов
/ 20 февраля 2019

Решение гораздо проще, чем я мог ожидать.

В функции, которую я использую для вызова this.audio.play(), я добавил loop свойство к аудио

play = () => {
if (this.audio === null) {
  this.audio = new Audio(music);
}
this.audio.loop = true; //this one
this.setState({ play: true, pause: false });
this.audio.play();
};
...