2011-12-31 68 views
6

我似乎無法讓音頻元素在Safari(v 5.1.2)中正常工作。我試着將文件移動到與頁面相同的文件夾,使用mp3和mpeg MIME類型以及更改文件名。它似乎在所有其他瀏覽器中工作正常,但在Safari中音頻元素已創建,但僅顯示它正在加載並且不會播放。有任何想法嗎?音頻元素無法正常使用Safari

<audio controls preload="metadata"> 
    <source src="audio/song.mp3" type="audio/mpeg" /> 
    <source src="audio/song.ogg" type="audio/ogg" /> 
</audio> 

感謝

+0

如果你的文件在同一個目錄下,試着從'src'中刪除'audio /'。此頁面在Safari中適合您嗎? http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_audio_all – keyboardP 2011-12-31 18:24:57

+1

他們在一個單獨的目錄中。它似乎是一個服務器問題。我試圖從本地主機服務器的頁面,它工作正常。我們的遠程服務器似乎不想將音頻文件提供給Safari瀏覽器(所有其他瀏覽器都可以正常工作)。 – bgmaster 2011-12-31 22:24:03

回答

0

嘗試安裝蘋果快速的時間。我不知道桌面版本,但IOS版本使用quicktime播放來自safari的聲音。

2

Safari似乎無法可靠地使用preload="metadata"加載聲音。

您可以在控制檯真的試試這個,任何網頁:

var snd = document.createElement('audio'), src = document.createElement('source'); 
src.src = "http://www.largesound.com/ashborytour/sound/brobob.mp3"; 
src.type = "audio/mpeg"; 
snd.appendChild(src); 
snd.preload = 'metadata'; 
snd.play(); 

它不工作。然後:

snd.preload = null; // equivalent to 'auto' 

而且瞧!它開始播放。

(我已提起訴訟,這是rdar://問題/ 11481585,不是幫助我們任何人。)

8

您的網站是否使用了無效的HTTPS證書或HTTP認證?我遇到了這個問題,但發現Safari在我的無效HTTPS證書或基本身份驗證(在臨時服務器上)方面存在問題。

+0

這個評論實際上幫了我很多,非常感謝。 – 2013-06-05 18:13:33

+0

太好了。我使用HTTP身份驗證,我花了2個小時,直到我找到你的建議。謝謝。 – 2014-06-11 09:55:43

0

是的,無效的HTTPS證書或HTTP認證不適用於Safari(在低端Linux設備上的自定義Safari瀏覽器上測試過)。 爲了使其工作,請使用有效的https證書。