2011-01-06 21 views
0

所以我讨厌不得不问这个问题,但我花了一段时间搜索Apple的文档和Google没有用。我只是试图为我的应用程序设置AVAudioSession类别,当applicationDidFinishLaunching时。我有一个播放音频流的应用程序,我希望它在应用程序进入后台时继续播放,所以我试图使用播放类别。这里是我的AppDelegate.m代码:在AppDelegate.m中设置AVAudioSession类别

- (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 { 
} 

有了这个代码,音频淡出任何时候我打的home键,把 在后台的应用程序。任何帮助非常感谢,我希望它 是一个快速修复类型的答案任何人谁已经做到了这一点。

回答

2

如果您尚未完成,请首先将UIBackgroundModes键添加到您的Info.plist文件中。 更多信息here

如果你已经做到了,你使用哪个框架来播放媒体?

1

感谢您的帮助艾琳。除了我只想提供它为我工作所必需的步骤之外,你的答案几乎是正确的。我读了您发布的苹果文档和出于某种原因离开了这些重要的细节了:

  1. 当您在的.plist文件中添加UIBackgroundModes关键,你必须做出一个数组。
  2. 数组的项目0的值应该是音频。

当然,您的应用程序还应该设置其音频会话类别并设置此键的组合。

相关问题