Czy można wykryć, czy przeglądarka obsługuje Html5 Audio przez Modernizr? Jeśli tak, to jak to się robi? Jeśli nie, masz jakieś roboty dookoła? W serwisie Google jest niewiele informacji na ten temat, więc każda pomoc zostanie doceniona.Wykrywanie obsługi dźwięku html5 za pomocą Modernizr
Odpowiedz
Tak, poprzez modernizr.audio. Obsługuje wiele formatów audio (obecnie ogg, mp3, m4a & wmv). Przykład:
var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
Modernizr.audio.mp3 ? 'background.mp3' :
'background.m4a';
audio.play();
Więcej informacji w documentation.
Tak, próbowałem tego: i to nie działa. Postaram się o to, dziękuję, człowieku –
jak wykonać rzeczy wewnątrz instrukcji if? –
@Michael 'if (Modernizr.audio) {..}' rzeczywiście działa. – alexn
Tak, modernizr wykrywa wsparcie audio według the documentation (to link), która nawet zawiera próbkę kodu (skopiowany poniżej):
var audio = new Audio();
audio.src = Modernizr.audio.ogg ? 'background.ogg' :
Modernizr.audio.mp3 ? 'background.mp3' :
'background.m4a';
audio.play();
Tak. http://www.modernizr.com/docs/#installing Połowa w dół.
znalazłem ten kod i to działało dobrze dla mnie:
<!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>
Wystarczy dodać dźwięk z prawej nazwie w folderze i dodać pliki modernizatora z Jquery rzeczy i gotowe.
Źródło: http://www.misfitgeek.com/2011/08/play-sound-in-html5-and-cross -obserser-support-with-backward-compatability / – Trae
Miałem właśnie opublikować trzecią odpowiedź "przeczytaj dokument", ale pozostałe dwie zostały wysłane kilka sekund wcześniej. Dokumentacja powinna być twoim pierwszym zasobem, a nie Stack Overflow ... –