TypeError: audio[0].addEventListener не является функцией

Я пытаюсь воссоздать этот проигрыватель HTML5, но даже если я скопирую/вставлю код, я все равно получить ошибки.

Первую ошибку я исправил, заменив audio[0].volume = .10; на этот audio[0] = { volume : .10 };

А вот следующую не могу исправить: audio[0].addEventListener("ended",function(e){

Итак, теперь, когда я нажимаю на другой трек, он просто открывает URL-адрес :(

Скрипка работает отлично! http://jsfiddle.net/lastrose/vkMqR/

Кто-нибудь может помочь??


person MadsRH    schedule 11.04.2016    source источник
comment
Я предполагаю, что ошибка, показанная для audio[0].volume = .10;, заключалась в том, что вы не можете установить volume для undefined, это правильно. С помощью audio[0] = { volume : .10 }; вы устанавливаете auto[0] объект, поскольку у этого объекта нет функции addEventListener.   -  person t.niese    schedule 11.04.2016
comment
Ошибки в коде скрипта здесь вам не нужно добавлять индекс в run() для audio[0].load();audio[0].play(); просто требуется audio.load();audio.play(); потому что мы передали audio[0] в функцию;   -  person itzmukeshy7    schedule 11.04.2016
comment
@t.niese правильно, но ты имеешь в виду, что это было неправильно? или я должен был сделать то же самое для addEventListener ?   -  person MadsRH    schedule 11.04.2016
comment
Нет, сам audio[0] = { volume : .10 }; неверен. Должно быть audio[0].volume = .10;. В то время, когда вы вызываете init, audio не находится в DOM. Вам нужно загрузить свой сценарий либо в конце body, либо использовать событие готовности dom (Почему jQuery или метод DOM, такой как getElementById, не находит элемент? , jQuery не находит элементы).   -  person t.niese    schedule 11.04.2016
comment
@t.niese переместил скрипт после кода HTML5, и все заработало отлично :D Спасибо.   -  person MadsRH    schedule 12.04.2016
comment
Не знаю, создавать ли мне новую тему, но не могли бы вы помочь мне запустить автовоспроизведение при загрузке страницы?   -  person MadsRH    schedule 12.04.2016
comment
@MadsRH Вам действительно следует выполнить поиск, прежде чем спрашивать: Воспроизведение звука после загрузки страницы в html   -  person t.niese    schedule 12.04.2016