2014-04-08 268 views
1

我試圖通過PhonegapAndroidiOS開發應用程序。該應用程序是一個電臺,來自流媒體公司的流是一個AAC流。我已經開發了一個HTML5音頻播放器和它的作品對我與測試iOSApple平板V1就好了,但是當我試圖在ToshibaAndroid平板電腦測試,MotorolaAndroid電話和SamsungAndroid手機,按下播放後,聲音可以在有時需要30秒才能開始播放。當我嘗試使用LGAndroid手機進行測試時,播放器會立即播放。所有這些設備都使用相同的WiFi連接。Phonegap Android HTML5音頻播放器延遲

我不知道爲什麼會出現這種情況。從理論上講,它應該可以在所有設備上工作,看起來像HTML,但我不知道。有什麼想法嗎?

<audio 
    src="http://aac.stream" 
    type="audio/aac" 
    controls="true" 
    id="the_player" 
    preload="auto" 
></audio> 

回答

1

AAC解碼在Android市場依賴於設備。這意味着有些設備可以輕鬆完成,有些設備會奮鬥,有些設備根本不會讀取它。你可以在這裏閱讀reference

一對夫婦的事情要考慮:

可以測試設備的能力,以播放AAC音頻:

var a = document.createElement('audio'); 
var aacSupport = a.canPlayType('audio/mp4; codecs="mp4a.40.2"'); 
console.log(aacSupport); 

如果aacSupport可能返回這是確定使用AAC。如果它返回一個空字符串,則不好。 否則,你可以使用具有更大的支持設備之間的MP3。試一試你的情況,看看這些設備在AAC播放中掙扎是否可以播放MP3。

此外,您可以刪除音頻標籤中的類型屬性,它只在子標籤中有用。不知道audio/aac是否是一個有效的MIME/TYPE。