2015-10-13 127 views
0

我正在設置一個清單來加載一些圖像和一個將使用SoundJS進行回放的音頻文件。預加載SoundJS的音頻格式

我理解使用createjs.Sound.alternateExtensions播放支持的音頻格式的概念,但是我不知道是否需要預加載這兩種文件格式作爲加載清單的一部分。顯然,這是不希望的,因爲只有一個文件將用於播放。

是否有必要同時加載?

manifest = [ 
{ 
    src: "./assets/voiceover.mp3", 
    id: "vo" 
}, { 
    src: "./assets/voiceover.ogg", 
    id: "vo" 
}]; 

回答

0

只需在列表中指定一次即可。 「alternateExtensions」列表是SoundJS將嘗試的內容,具體取決於當前的瀏覽器支持。例如,如果指定了「file.mp3」,並且當前瀏覽器(例如Opera)不支持mp3,則它將替換它支持的擴展名。你不必指定「file.ogg」,它會爲你做到這一點。

此方法假定您在與mp3相同的文件夾中有.ogg文件。如果不這樣做,請考慮使用複雜的「src」對象,該對象具有指向每個文件的完整路徑。

注意:如果您依賴alternateExtensions,建議將文件定義爲「.ogg」,並將「mp3」和其他擴展名作爲替代。這是因爲某些版本的Firefox報告稱它支持MP3,但會失敗。從ogg開始將解決這個問題。

+0

謝謝你的回答。只需要跟進一次 - 兼容文件在預加載後在運行時是否可用?或者它會預加載ogg,然後必須在以後檢索mp3(如果需要)? (關於以ogg開頭的很棒的技巧;謝謝你) –

+0

它只會預載它可以播放的第一個值。如果無法播放,則不會預載。清單中每個條目只會預加載一個文件。 – Lanny