2014-06-19 220 views
5

HTML是以下:使用HTML音頻與IE:MEDIA12899:音頻/視頻:未知MIME類型

<audio id="audioCap" preload="auto" type="audio/wav"></audio> 

JS:

$('#audioCap')[0].play(); 

和設置 「SRC」 如下:

$('#audioCap').attr('src', 'http://blabla/captcha/captcha.wav?' + response); 

其中response是一個id。

這適用於除IE版本(9-11)之外的所有瀏覽器,它們也應該可以工作。我得到MEDIA12899: AUDIO/VIDEO: Unknown MIME type。我做了一些調查,發現它應該是一個服務器配置問題。我用調試工具捕獲網絡數據並檢查響應頭。 Content-Type顯示爲audio/wav,這是正確的。我不知道還有什麼可能導致這個錯誤。

+1

IE不支持wav文件。您需要爲IE提供不同格式的音頻 – maja

回答

10

不幸的是,它因爲Internet Explorer不支持wav -Files。

爲了獲得跨瀏覽器兼容性,您需要提供幾種不同格式的相同音頻文件。

採取在這個網站一看錶:

https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats

爲了支持IE,你需要添加一個mp3mp4 -format。

提供當前瀏覽器正確的格式,你可以使用這樣的事情:

var source= document.createElement('source'); 
if (audio.canPlayType('audio/mpeg;')) { 
    source.type= 'audio/mpeg'; 
    source.src= 'audio/song.mp3'; 
} else { 
    source.type= 'audio/wav'; 
    source.src= 'audio/song.wav'; 
} 
audio.appendChild(source); 

(來源:How can I add multiple sources to an HTML5 audio tag, programmatically?

編輯:這是值得大家注意的,你音頻,視頻和字體有相同的問題。

+0

感謝您的澄清。我在很多論壇上閱讀不同的東西。我將設置服務器以同時提供mp3和wav。 – user3755508