Я использую следующий код, чтобы изменить источник звукового элемента HTML5:Как изменить источник звука для Firefox?
$('#mp3').attr('src', url); // please note that remote URL is used
$("#audio").load();
и вот HTML:
<audio id="audio" class="hidden">
<source type="audio/mpeg" id="mp3">
</audio>
Он хорошо работает в Google Chrome, Safari, IE. Но Firefox 34 возвращает следующую ошибку:
<source> element has no "src" attribute. Media resource load failed.
Что здесь не так?
Обновление. Я проверяю, работает ли он, ожидая вызванного события canplaythrough
. Наверное, это проблема?
Я пытался также удалить элемент и добавить его снова, но он не работает:
$("#audio").empty();
$("<source>").attr("src", url).attr("type", "audio/mpeg").appendTo("#audio");
$("#audio").load();
Проверьте это http://stackoverflow.com/questions/17300640/html-audio-cannot-find-file-after-changing-source-through-jquery – Nico
@ Нико, спасибо, но это помогло, но только один раз - звук начал играть, но он больше не работает. Попробуем выяснить, что произошло. –
@Nico, этот подход работает только в том случае, если я открыл файл (= загружен) вручную раньше. –