Подтвердить что ты не робот

Лучший способ воспроизведения звука с помощью HTML5 и Javascript

Я пытаюсь воспроизвести звук, и я нашел два способа, которые работают для меня. Что лучше и почему? хорошая идея добавить прослушиватель событий "load"?

Первый способ:

$(document).ready(function() {  
  var audioElement = document.createElement('audio');  
  audioElement.setAttribute('src', 'sound.ogg');  
  audioElement.addEventListener("load", function(){  
      audioElement.play();  
  }, true);

  audioElement.play();  
});

Второй способ:

$(document).ready(function() {  
  audioElement = new Audio('sound.ogg');  
  audioElement.play();  
});
4b9b3361

Ответ 1

Вы действительно должны пойти первым путем (с load), потому что "DOMReady" не гарантирует, что звуковой файл завершит загрузку, как и с помощью Image.

Ответ 2

Для этого вам действительно нужно использовать систему обнаружения признаков. Я бы использовал Modernizr для тестирования звука HTML5. Таким образом, вы только пытаетесь подавать звук тем, кто может получить его с помощью HTML5.

Вы можете даже проверить функции HTML5 и отменить альтернативу, если не найти с помощью Modernizr. Эти альтернативы называются "polyfills", и список из них, который поддерживает Modernizr, здесь.

Преимущество этого в том, что вы покрываете все свои базы с точки зрения функций браузера. Мне жаль, что дураки там все еще используют IE7.