2011-10-23 43 views
5

Có thể phát hiện xem trình duyệt có hỗ trợ Html5 Audio qua Modernizr không? Nếu vậy, làm thế nào hoàn thành cái này? Nếu không có bất kỳ công việc xung quanh? Có rất ít tài nguyên trên Google giải thích điều này, vì vậy mọi trợ giúp sẽ được đánh giá cao.Phát hiện hỗ trợ âm thanh html5 với Modernizr

+6

Tôi sắp đăng câu trả lời thứ ba "đọc tài liệu" nhưng hai câu trả lời khác đã được đăng vài giây trước đó. Tài liệu nên là tài nguyên đầu tiên của bạn, không phải là Stack Overflow ... –

Trả lời

8

Có, thông qua modernizr.audio. Nó hỗ trợ một số định dạng âm thanh (hiện tại là ogg, mp3, m4a & wmv). Ví dụ:

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

Thông tin thêm trong documentation.

+0

Vâng tôi đã thử điều này: và có vẻ như không hoạt động .. Tôi sẽ cung cấp cho ảnh đó, nhờ người đàn ông –

+0

làm cách nào để thực thi nội dung bên trong câu lệnh if? –

+0

@Michael 'if (Modernizr.audio) {..}' thực sự hoạt động. – alexn

2

Vâng, Modernizr phát hiện hỗ trợ âm thanh, theo the documentation (đó là một liên kết), trong đó thậm chí bao gồm một mẫu mã (sao chép dưới đây):

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

tôi thấy đoạn mã này và nó làm việc tốt cho tôi:

<!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> 

Chỉ cần thêm âm thanh với đúng tên trong thư mục và thêm các tập tin hiện đại hóa với Jquery và bạn đã hoàn tất.

+0

Ghi công: http://www.misfitgeek.com/2011/08/play-sound-in-html5-and-cross -trình hỗ trợ-với-lạc hậu / – Trae

Các vấn đề liên quan