objective-c - iOS 5.1 在后台停止应用程序

标签 objective-c ios cocos2d-iphone avaudioplayer ios5.1

我在商店中有一个已发布的 (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/

相关文章:

cocos2d-iphone - 如何仅在选定的源文件(Xcode)中将警告视为错误?

iphone - cell.detaillabel 的文本未显示

iphone - Cocos2d/Cocos2d-x 视网膜问题

ios - Cocos2d 绘图应用程序制作线条

ios - 在几个应用程序中用新的 Swift 替换旧的 Objective-c 库

c++ - Objective-C 中的 C++ 纯虚函数等效于什么?

ios - 如何在 uiactivitycontroller 中仅显示特定的 UIactivity 项目

ios - 核心数据不断创建正在保存的文档...文件夹

ios - 什么时候使用 CC_CONTENT_SCALE_FACTOR()?

iphone - 处理数组中的多个字符串和整数