Лучший способ воспроизвести звук с HTML5 и Javascript - PullRequest
13 голосов
/ 06 декабря 2011

Я пытаюсь воспроизвести звук, и я нашел два способа, которые работают для меня. Какой способ лучше и почему? такое хорошая идея добавить прослушиватель события "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();  
});

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

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

1 голос
/ 06 декабря 2011

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

Вы можете даже проверить возможности HTML5 и использовать альтернативный вариант, если не нашли его с помощью Modernizr. Эти альтернативы называются «полифиллами», и их список, который поддерживает Modernizr: здесь .

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

...