Я хочу воспроизвести трек в своем веб-приложении React. Я слежу за видео и пробую все, что там сделано, но когда я нажимаю кнопку для вызова функции, которая должна запускать audio.play (), трек не воспроизводится.
Ниже приведен код, который у меня есть.
Это кнопка с некоторыми scss к ней:
<div className="audio-player">
<button className="play"><i className="ion-play" onClick={this.playTrack}></i></button>
<div className="seek-bar">
<div className="fill"></div>
<div className="handle"></div>
</div>
</div>
Как видите, onClick {} должен вызывать эту функцию:
playTrack = () => {
let audio = new Audio('song.ogg');
audio.play();
}
Но не играет. Теперь я предполагаю, что песню, которую я предоставляю, нельзя найти или привязать. Я пробовал формат mp3, а также формат ogg. Я сохраняю трек в каталоге папок, где находится папка src. Я преобразовал формат mp3 в ogg, и когда я открываю его из своей папки, он открывается в браузере. Но, к сожалению, в него нельзя играть в моем веб-приложении.
Итак, моя цель - услышать песню, которая воспроизводится при срабатывании onClick.
play
записывать звук сразу после его создания, поскольку он еще не готов / загружен в данный момент. Вместо этого вы должны прослушивать событиеload
. - person hindmost   schedule 03.05.2019load
. - person Khauri   schedule 03.05.2019playTrack
вызывается, а также проверить консоль / сеть, чтобы увидеть, действительно лиsong.ogg
был загружен. Попробуйте заменить URL-адрес на другой и смотрю, играет ли это. - person Khauri   schedule 03.05.2019load
запускается для всех внешних ресурсов, в т.ч. аудио. - person hindmost   schedule 03.05.2019load
не упоминается в MDN что заставляет меня думать, что если он запущен, это не имеет значения для HTMLAudio. Но если вы посмотрите на эту скрипку, то увидите, что на самом деле она никогда не запускается. Аудио не нужно загружать сразу, прежде чем его можно будет воспроизвести. - person Khauri   schedule 03.05.2019