2014-04-08 222 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。