2012-03-16 84 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

相关问题