我的应用程序当前播放mp3音频文件,而用户正在该应用程序上搜索另一个活跃用户。
在我的应用代表中,我要求更多的时间来继续执行搜索:
- (void)applicationDidEnterBackground:(UIApplication *)application {
self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
NSLog(@"Background handler called. Not running background tasks anymore.");
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];
self.backgroundTask = UIBackgroundTaskInvalid;
}];
}
当用户将应用程序发送到后台时,随着搜索算法继续工作,音频将继续播放。
但是,我希望在屏幕顶部显示红色指示条,类似于在后台对应用程序执行VOIP调用时的情况。
这可能吗?
这是我在SearchView.m中的音频播放器代码
NSString *path = [NSString stringWithFormat:@"%@/searchTune.mp3", [[NSBundle mainBundle] resourcePath]];
NSURL *soundUrl = [NSURL fileURLWithPath:path];
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
[_audioPlayer play];
答案 0 :(得分:0)
不,不可能。没有公共API,iOS使用私有API作为内部使用。它被称为脉动状态栏。