Определение формата и загрузка аудио в HTML5

Полезная цитата из чата:
Yellow: Определение поддерживаемого формата аудио выглядит так в простейшем случае:

jsAudioType = '';
var aud = document.createElement('audio');
if (aud.canPlayType != null) {
    var c;
    if ((c = aud.canPlayType('audio/mpeg;')) != '' && c != 'no') {
        jsAudioType = 'mp3';
    } else if ((c = aud.canPlayType('audio/ogg; codecs="vorbis"')) != '' && c != 'no') {
        jsAudioType = 'ogg';
    }
}

после выполнения jsAudioType содержит 'mp3' или 'ogg' если они поддерживаются (в данном примере mp3 в приоритете) или пустую строку если нет. Логичным ходом является подгрузка лишь одного из двух типов аудио для каждого звука.

Реализация самого проигрывания может быть такой:
http://dl.dropboxusercontent.com/u/3594143/yal.cc/13-07/Audio.hx

Загрузка аудио выглядит где-то так:

var snd:HTMLMediaElement = cast document.createElement('audio');
var f = null;
f = function( e) {
 snd.removeEventListener('canplaythrough', cast f, false);
 soundLoaded( e); // mark as loaded
}
snd.addEventListener('canplaythrough', cast f, false);
snd.addEventListener('error', cast soundLoadFailed, false);
snd.src = src;
snd.preload = "auto"; // just to be sure
snd.load(); //
jsAudioLib.set(src, snd);

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Use [gist:####] where #### is your gist number to embed the gist.

Подробнее о форматировании

CAPTCHA
Для отсева спамеров)
H
3
i
T
L
9
Enter the code without spaces and pay attention to upper/lower case.