所以我不想问这个问题,但我花了相当多的时间搜索苹果的文档和谷歌,但无济于事。我只是想在 applicationDidFinishLaunching 时为我的应用设置一次 AVAudioSession 类别。我有一个播放音频流的应用程序,我希望它在应用程序进入后台时继续播放,所以我尝试使用播放类别。这是我的 AppDelegate.m 代码:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:&sessionError];
[[AVAudioSession sharedInstance] setDelegate:self];
// create window and set up navigation controller
[window addSubview:myNavController.view];
[window makeKeyAndVisible];
}
# pragma mark -
# pragma mark AVAudioSession Delegate Methods
- (void)beginInterruption {
}
- (void)endInterruption {
}
- (void)endInterruptionWithFlags:(NSUInteger)flags {
}
- (void)inputIsAvailableChanged:(BOOL)isInputAvailable {
}
使用此代码,只要我按下主页按钮,音频就会淡出,将应用程序置于后台。非常感谢任何帮助,我希望对于以前做过此操作的任何人来说,这都是一种快速修复类型的答案。