HTML5 Audio Auto Play IE не играет
У меня есть немного кода для воспроизведения аудио тега HTML5 при нажатии. Работает правильно во всех браузерах. Недавно я пытался преобразовать его в автоматическое воспроизведение при открытии страницы (щелчок не требуется). Прекрасно работает в Chrome и FF, но не работает в IE... хотя я не вижу явной ошибки.
// add a 'self play' function on a wrapper div
jQuery('.autoplay').each( function(i) {
if( jQuery(this).attr("rel") ) {
var xv = jQuery(this);
x = jQuery(this).attr('rel') + ext;
audioElements.push( document.createElement('audio') );
//alert(audioElements.length);
//alert(xv);
// alert(x);
y = audioElements.length-1;
audioElements[y].setAttribute('src', x);
audioElements[y].load();
audioElements[y].addEventListener("canplay", function(){ xv.addClass('canplay'); });
// audioElements[y].currentTime=0;
audioElements[y].play();
// alert(x);
return true;
}
});
Живой сайт http://jchmusic.com/. Но опять же, если вы зайдете на http://jchmusic.com/songs-from-detroit и нажмете на любую иконку, тот же базовый код работает нормально.
Есть идеи?
2 ответа
Попробуйте включить это
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
Этот javascript информирует IE о новых элементах HTML5
Дерьмо... потратило много времени на то, чтобы подумать, что это проблема кода. Очевидно, это проблема с MP3, которую я не получаю, но это другая история. MP3 хорошо играет локально.
Причина, по которой я не уловил это, состоит в том, что у меня есть версии каждой песни в формате MP3, OGG и WAV, так что, очевидно, другие браузеры использовали альтернативный тип файла... но IE не может.
Если бы я просто проверил MP3, я бы избавил себя от проблем.
Anyhoo... Я перерисовал MP3, и новая версия прекрасно работает в IE.
Мораль: бритва Оккама.