1

我在商店中有一个已发布的 (Cocos2d+UIKit) 应用程序,它可以再现音轨,即使 iPhone 被锁定或应用程序处于后台,也需要继续播放它们。

它在 iOS 5.0 之前一直运行良好,但从 iOS 5.1 开始,应用程序重新启动:声音停止,当用户解锁 iPhone 时,iPhone 没有显示为活动状态,再次打开时,它显示初始屏幕和初始窗口。

我尝试调试它,但是当我锁定 iPhone 时,xCode 在 EAGL 中暂停......我还尝试在 MPMoviePlayerViewController 中播放曲目,它也是如此。

请帮忙,由于这个问题,我每天都会收到很多差评...

4

2 回答 2

1

没有看到你的代码很难判断,但作为一个疯狂的猜测,试试这行:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

放入您的第一个控制器的 viewDidLoad 方法。让我知道它是否可以为您解决问题。

- - - 更新 - - -

检查 5.1 的另一件事是设置

[[AVAudioSession sharedInstance] setActive: YES error: nil];

在每个 AVAudioPlayer 播放命令之前。

这解决了我的闹钟应用程序的问题,该应用程序过去在 4.x 中完美地在闹钟时间响起,并在 5.1 中开始静音。我发现将上述行放在 [AVAudioPlayer play] 之前为我解决了这个问题。

于 2012-03-16T21:56:50.350 回答
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 之前运行良好,但它修复了它:)

于 2012-03-18T18:28:45.363 回答