2012-03-16 130 views
1

我在商店,再現音軌,需要繼續玩他們即使iPhone被鎖定或應用程序在後臺發佈(的cocos2d + UIKit的)應用程序。的iOS 5.1應用程序停止時在後臺

它用來很好地工作,直到iOS的5.0,但由於iOS的5.1應用程序重新啓動:聲音停止時,當用戶解鎖iPhone不會出現活性,再次打開時,它示出了初始屏幕和初始窗口。

我試圖調試它,但是當我鎖定iPhone時,xCode在EAGL中暫停... 我也嘗試在MPMoviePlayerViewController中播放曲目,它也是這樣做的。

請幫幫忙,我每天都因爲這個問題讓很多不好的評論...

+0

你應該告訴我們一些你的代碼中如果你做錯了什麼事情。 – 2012-03-16 10:45:52

+1

它很容易嘗試此鏈接 http://stackoverflow.com/questions/4771105/how-do-i-get-my-avplayer-to-play-while-app-is-in-background 乾杯 – Tornado 2012-03-16 10:47:02

回答

1

我想我終於加入解決了這個問題:

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    [[CCDirector sharedDirector] stopAnimation]; 
} 

- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
    [[CCDirector sharedDirector] startAnimation]; 
     [Appirater appEnteredForeground:YES]; 
} 

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    [[CCDirector sharedDirector] pause]; 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[CCDirector sharedDirector] resume]; 
} 

我不知道爲什麼它的iOS 5.1之前工作正常,但固定它:)

1

這是很難說沒有看到你的代碼,但作爲一個胡亂猜測,嘗試這一行:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

放入您的第一個控制器的viewDidLoad方法。讓我知道它是否解決了你的問題。

------ -----更新

一個附加的東西來檢查5.1是設置

[[AVAudioSession sharedInstance] SETACTIVE:YES誤差:無];

每個AVAudioPlayer播放命令之前。

這解決了這個問題對我的鬧鐘應用程序,它用於在鬧鐘時間在4.x的完美聲音,並開始在5.1獲得靜音。我發現將[AVAudioPlayer播放]之前的上述行解決了我的問題。

+0

沒有任何變化,但感謝您的幫助。我不知道我應該寫什麼代碼,因爲我不知道問題來自何處 – k20 2012-03-17 17:15:16

+0

好的,同時檢查我上面更新的答案。 – MyCSharpCorner 2012-03-17 20:34:40

+0

再次感謝,我這樣做,但它什麼都沒做...... :( – k20 2012-03-17 21:16:45

相關問題