2012-04-17 54 views
3

我有三個mp3音頻文件可以在所有瀏覽器中播放,但在IE9中僅播放1.x秒,除非我將「控件」更改爲「自動播放」,在這種情況下,它只播放精細。mp3音頻適用於所有瀏覽器,但不適用於IE9

然後我以.wav格式發送了未經編輯的原始文件。我把它自己編碼爲mp3,但也有同樣的問題。但是,如果我創建自己的mp3音頻文件並將其插入到相同的標記中,它可以在所有瀏覽器中使用,包括帶有「controls」屬性的IE9。

我只能認爲原始音頻文件中的某些設置會導致問題,但沒有線索可能。

下面是測試標記:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title></title> 
</head> 
<body> 
<audio src="poem.mp3" controls > 
</body> 
</html> 

編輯:

我把頁面上的三個音頻文件。有時候一到兩個將會一直播放,而第三個將不會播放。其他時候,兩個會玩一秒,但第三個什麼都不會。

+0

一個有趣的事情是,我編輯文件,重新加載,它的工作......一次。清除緩存並重新加載頁面,但不會播放。 – Rob 2012-04-17 14:46:23

回答

2

編輯:我的修復程序沒有工作。它仍然在IE9失敗,但一切仍然在其他瀏覽器工作。

對我自己的問題的一個答案,至少解決了這個問題,但我還沒有找到原因。

我不知道爲什麼一些mp3文件在IE9中播放還不錯,但其他的在任何現代瀏覽器中都能正常播放,在IE9中不會播放使用上面顯示的標記。我通過添加音頻屬性preload="auto"進行音頻播放,現在在IE9中一切正常。

現代瀏覽器不需要這個。爲什麼IE9呢,我還不知道。

+0

這可能是你的問題文件被壓縮使用可變比特率和IE不喜歡它。 – yms 2012-04-17 20:01:35

+0

沒有。沒有修復它。我轉向其他代碼,但當我回到這個時候,IE是不穩定的。有時它有效。大部分時間沒有。比特率被設置爲常量。 – Rob 2012-05-11 00:45:59

2

我在IE9上顯示音頻控制時遇到了問題,並發現IE9與preload屬性發生衝突。我不希望瀏覽器通過將所有文件全部設置爲「自動」來預先加載所有文件,但發現將預加載設置設置爲「元數據」而不是「無」是個竅門。可能是一種替代解決方案。 http://helephant.com/2011/12/29/the-html5-audio-tag/:「元數據表明瀏覽器只是下載了足夠的文件來查找尺寸,運行長度和大小等內容。」

+0

你是對的,我自己也注意到了這一點。然而,我正在使用的頁面有很多音頻文件,並繼續下載頁面上的每個音頻文件的一部分,這將使一些看起來不會啓動。另外,iirc,IE9會下載元數據,但不會播放文件的其餘部分。我的解決方案是使用JavaScript加載文件,並以不同的方式處理IE,就像我們幾乎處理IE所涉及的所有內容一樣。 – Rob 2012-08-20 01:05:32

3

如果有人還在處理這個問題,我使用標準的<audio>標記爲MP3。

<audio controls="controls" preload="auto"> 
<source src="http://www.davehullthehullabalooer.com/help(5).mp4" type="audio/mp4"/> 
<source src="http://www.davehullthehullabalooer.com/help.ogv" type="audio/ogv"/> 
<source src="http://www.davehullthehullabalooer.com/help.webm" type="audio/webm"/> 
<source src="http://davehullthehullabalooer.com/add-for-beatles-page-188.mp3" type="audio/mp3"/> 
</audio> 

在IE9:Internet選項>高級選項卡>多媒體,我選擇 「播放網頁中的聲音」

都好!

0

出現同樣的問題時,音頻文件只會在IE9上的預加載設置爲元數據時纔會播放第一秒。 原來我的API是gzip壓縮所有響應和IE9都遇到了麻煩處理它。從音頻和視頻文件中刪除gzip/deflate壓縮後,IE9沒有問題。

相關問題