我在商店中有一个已发布的 (Cocos2d+UIKit) 应用程序,它可以再现音轨并需要继续播放它们,即使 iPhone 已锁定或应用程序处于后台。
它在 iOS 5.0 之前一直运行良好,但自 iOS 5.1 以来应用程序重新启动:声音停止,当用户解锁时 iPhone 不显示为事件状态,当再次打开时它显示初始屏幕和初始窗口。
我尝试调试它,但是当我锁定 iPhone 时,xCode 在 EAGL 中暂停... 我还尝试在 MPMoviePlayerViewController 中播放轨道,它也是如此。
请帮忙,由于这个问题,我每天都会收到很多差评...
最佳答案
如果不看你的代码很难判断,但作为一个疯狂的猜测,试试这一行:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
放入第一个 Controller 的 viewDidLoad 方法。如果它能解决您的问题,请告诉我。
------ 更新------
要检查 5.1 的另一件事是设置
[[AVAudioSession sharedInstance] setActive: YES 错误: nil];
在每个 AVAudioPlayer 播放命令之前。
这解决了我的闹钟应用程序的问题,该应用程序曾经在 4.x 中完美地在闹钟时间发出声音,但在 5.1 中开始静音。我发现将上面的行放在 [AVAudioPlayer play] 之前解决了我的问题。
关于objective-c - iOS 5.1 在后台停止应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735515/