【发布时间】:2012-09-14 02:04:52
【问题描述】:
我有一个在后台使用定位服务的应用程序。工作正常。 但在某个时候,我想做的是在应用程序处于后台时检查一些音频电平。由于某种原因,它似乎不起作用。在前台运行时,该功能运行良好,但在后台运行时,录音机平均和峰值输入始终为-120..
这就是我用来做这个把戏的方法(这显然不起作用..)
....
[recorder record];
if (levelTimer == nil) {
bgTask = 0;
app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
}];
levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.02 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];
}
...
是的,levelTimerCallback 每 0.02 秒被调用一次,即使在后台也是如此,所以我假设 beginBackgroundTaskWithExpirationHandler 工作正常。
有什么想法或提示吗?
【问题讨论】:
-
你搞定了吗?我遇到了同样的问题,你能帮忙分享一些想法吗?
标签: iphone audio background location recording