2013-03-13 43 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()