Обнаружение поддержки аудио html5 с Modernizr - PullRequest
5 голосов
/ 23 октября 2011

Можно ли определить, есть ли в браузере поддержка Html5 Audio через Modernizr?Если так, то как это сделать?Если нет, то есть ли работа вокруг?В Google мало ресурсов, объясняющих это, поэтому любая помощь будет признательна.

Ответы [ 4 ]

8 голосов
/ 23 октября 2011

Да, через modernizr.audio.Он поддерживает ряд аудиоформатов (в настоящее время ogg, mp3, m4a и wmv).Пример:

var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
            Modernizr.audio.mp3 ? 'background.mp3' :
                                  'background.m4a';
audio.play();

Дополнительная информация в документации .

2 голосов
/ 23 октября 2011

Да, Modernizr обнаруживает поддержку звука, согласно документации (это ссылка), которая даже включает пример кода (скопирован ниже):

var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
            Modernizr.audio.mp3 ? 'background.mp3' :
                                  'background.m4a';
audio.play();
1 голос
/ 19 сентября 2012

Я нашел этот код, и он работал нормально для меня:

<!DOCTYPE html>
<html>  
<head>
<title>Play Audio</title>
<script src="script/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="script/modernizr-latest.js" type="text/javascript"></script>
<script type="text/javascript">
var currentFile = "";
function playAudio() {

    var oAudio = document.getElementById('myaudio');
    // See if we already loaded this audio file.
    if ($("#audiofile").val() !== currentFile) {
        oAudio.src = $("#audiofile").val();
        currentFile = $("#audiofile").val();
    }
        var test = $("#myaudio");
        test.src = $("#audiofile").val();
    oAudio.play();   
}

$(function() {
    if (Modernizr.audio) {
        if (Modernizr.audio.wav) {
            $("#audiofile").val("sounds/sample.wav"); 
        }
        if (Modernizr.audio.mp3) {
            $("#audiofile").val("sounds/sample.mp3");
        }
    }
    else {
      $("#HTML5Audio").hide();
      $("#OldSound").html('<embed src="sounds/sample.wav" autostart=false width=1 height=1 id="LegacySound" enablejavascript="true" >');
    }

});
</script>
</head>

<body>
<div style="text-align: center;"> 
 <h1>Click to Play Sound<br /></h1>
<div id="HTML5Audio">
<input id="audiofile" type="text" value="" style="display: none;"/><br />

<button id="play" onclick="playAudio();">
    Play
</button>
</div>
<audio id="myaudio">
    <script>
    function LegacyPlaySound(soundobj) {
      var thissound=document.getElementById(soundobj);
      thissound.Play();
    }
    </script>
    <span id="OldSound"></span>        
    <input type="button" value="Play Sound" onClick="LegacyPlaySound('LegacySound')">
</audio>

Просто добавьте аудио с правильным именем в папку и добавьте модернизаторфайлы с Jquery, и все готово.

0 голосов
/ 23 октября 2011

Да.http://www.modernizr.com/docs/#installing На полпути вниз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...