刚才遇到了个不大不小的问题,就是AVAudionPlayer如何在后台播放音频文件。网上查找方法,最后解决,方法整理如下:
1.需要加入AVaudionSession的代码,总体如下,各位可以抽减掉初始化的代码。
- (void)viewDidLoad
{
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"in-the-storm" ofType:@"mp3"]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[audioPlayer play];
[super viewDidLoad];
}
加入如上的代码后,把程序放到后台还是会自动消失声音,于是找到如下的第二步操作。
2.修改plist文件。
在plist文件中新增 Require background modes栏位,并填入内容为audio.
经过以上两步的操作,大功告成。
参考文献:
http://stackoverflow.com/questions/7619794/play-music-in-background-in-iphone-using-avaudioplayer