刚才遇到了个不大不小的问题,就是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