iPhone OS 4 多任务处理 - 在后台播放音频
Posted
技术标签:
【中文标题】iPhone OS 4 多任务处理 - 在后台播放音频【英文标题】:iPhone OS 4 Multitasking - Playing Audio In background 【发布时间】:2010-06-09 15:52:26 【问题描述】:我正在尝试使用 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];
`。一旦我点击应用程序中的按钮,音频就会开始播放。但是当我关闭应用程序时它会停止。如何让它在后台播放?
谢谢, 托尼
【问题讨论】:
你可能会发现,在涉及 ios4 的保密协议解除之前,人们不会想回答这个问题...... 是的,把它带到官方论坛。 重复问题:***.com/questions/3161635/… 【参考方案1】:听起来您没有正确设置音频会话。来自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 类别可确保在屏幕锁定时继续播放。 激活音频会话会使指定的类别生效。
【讨论】:
【参考方案2】:嗨,
我认为这个视频可以帮助你解决你的问题...... 在 WWDC 视频中,他们清楚地解释了如何启用背景音频... http://developer.apple.com/videos/wwdc/2010/ 要查看或下载这些视频,您需要有一个苹果帐户... 并在其中看到 Session 109-Adopting multitasking on iPhone OS, Part2... 希望这对你有帮助..
~拉维拉贾
【讨论】:
以上是关于iPhone OS 4 多任务处理 - 在后台播放音频的主要内容,如果未能解决你的问题,请参考以下文章