我正在尝试使用iPhone OS 4.0的多任务处理能力。我试图在后台播放音频而没有运气。我在info.plist中添加了UIBackgroundModes属性,并提到需要在后台播放音频。我还添加了播放音频的代码。 `
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"someday" ofType:@"mp3"]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlayer play];
`。单击应用程序中的按钮后,音频开始播放。但是,当我关闭应用程序时,它会停止。如何让它在后台播放?
谢谢, 贝
答案 0 :(得分:12)
听起来您没有正确设置音频会话。来自http://developer.apple.com/iphone/library/documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html:
例如,使用默认音频会话时,当自动锁定时间超时且屏幕锁定时,应用程序中的音频将停止。如果要确保在屏幕锁定的情况下继续播放,请在应用程序的初始化代码中包含以下行:
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr];
AVAudioSessionCategoryPlayback类别可确保在屏幕锁定时继续播放。 激活音频会话会使指定的类别生效。
答案 1 :(得分:2)
HI,
我认为此视频有助于您解决问题... 在WWDC视频中,他们已经清楚地解释了如何启用背景音频...... http://developer.apple.com/videos/wwdc/2010/ 要查看或下载这些视频,您需要拥有一个苹果帐户... 在那里看到第109节 - 在iPhone OS上采用多任务处理,Part2 ...... 希望这会对你有所帮助..
〜Raviraja