2013-03-13 50 views
0

推出的iTunes我们有一个PhoneGap的应用程序(iPhone目前只),它同时使用HTML5音频标记(流媒体)和媒体对象(用于播放本地存储的MP3)。他们都提供网络链接到iTunes商店。的PhoneGap媒体对象停止播放时,从网络链接

它曾经的情况下(至少在媒体对象),音频会继续播放,即使应用在背景执行,由于另一个应用程序正在启动或加载一个iTunes的链接。这只是通过在项目配置中向UIBackgroundModes添加“音频”来实现的。 (info.plist中)

我明白,这已与iOS6的的出现改变:UIWebView: HTML5 audio pauses in iOS 6 when app enters background

这解决了问题的HTML5音频(即音频流继续当我启动iTunes与web的玩链接),但对于媒体对象 - 当我按照itunes链接时,音频仍然切断)。奇怪的是,当我使用itms-apps://而不是http://时,音频不会被剪切掉,但它会启动应用商店而不是iTunes。换句话说,iTunes是它使得音频切出的唯一的应用程序,但只有其从媒体对象的播放。

有谁知道为什么推出的iTunes可能会被切割出由媒体对象产生的声音,而其他应用程序不?

回答

0

好像只在iTunes中通过科尔多瓦的WebView推出,即使用下面的一个出现问题:

url = 'https://itunes.apple.com/gb/album/elliphant-ep/id590384846' 

1. window.location.href = url 
2. window.open(url); 
3. window.open(url , '_self'); 

的解决办法是,它使用另一个应用程序来启动iTunes:

window.open(url , '_system'); 

将打开在系统浏览器的URL,该系统拦截iTunes的链接和iTunes是通过系统浏览器中启动。

w = window.open(url, '_blank'); 

将迫使网址在InAppBrowser推出,系统再次截取的iTunes链接和iTunes通过InAppBrowser启动。这是一个更丑陋的解决方案,因为InAppBrowser不会自动关闭,并且当用户返回应用程序时,InAppBrowser仍然可见。要关闭它,需要调用w.close()