问题1。 我在iphone 4和iOS 5.0.1上看到以下行为
使用addPeriodicTimeObserverForInterval注册,每250毫秒接收一次更新并更新用户界面。
效果很好,直到应用程序进入后台。例如。点击主页按钮或锁定屏幕,
问题2
我们不能将基于C的音频会话API与AV基础类混合使用吗?例如。我在AudioInterruptions时注册了我的基于C的监听器。但是当我使用带有kAudioSessionCategory_PlayAndRecord的AVPlayer时,他们不会被调用。当应用程序进入后台时,AVPlayer暂停而不会调用基于C的侦听器。
这是预期的还是我可以做些什么?请注意,一旦我处理了AVPlayer实例,我的应用程序再次转到后台与kAudioSessionCategory_PlayAndRecord 设置为侦听器函数的类别。
答案 0 :(得分:0)
对于您的第一个问题,很可能您没有按照建议发布addPeriodicTimeObserverForInterval
。尝试在AppDelegate
:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[_audioManager.audioPlayer removeTimeObserver:_audioManager.timeObserver];
_audioManager.isUIActive = NO;
}
以及重新启动定期时间观察器的适当方法:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[_audioManager setUpTransportUI];
_audioManager.isUIActive = YES;
}
其中setUpTransportUI
重新创建您的时间观察者。