iOS4以后就支持后台播放音频了。只需下面两步就能够实现后台播放音频操做了。
session
一、在Info.plist中,添加"Required background modes"键,其值设置以下图所示:app
二、添加AVFoundation框架,而后再添加以下两段代码框架
3 在播放器播放音乐的代码所在处,添加以下两段代码(固然,前提是已经添加了AVFoundation框架):
oop
添加后台播放代码:测试
[cpp] view plaincopyui
//后台播放音频设置 url
AVAudioSession *session = [AVAudioSession sharedInstance]; spa
[session setActive:YES error:nil]; .net
[session setCategory:AVAudioSessionCategoryPlayback error:nil]; blog
以及设置app支持接受远程控制事件代码:
[cpp] view plaincopy
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
设置app支持接受远程控制事件,其实就是在dock中能够显示应用程序图标,同时点击该图片时,打开app,以下图所示:
下面是后台播放音频的完整测试代码:
[cpp] view plaincopy
//后台播放音频设置
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
//播放背景音乐
NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"mp3"];
NSURL *url = [[NSURL alloc] initFileURLWithPath:musicPath];
// 建立播放器
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[url release];
[player prepareToPlay];
[player setVolume:1];
player.numberOfLoops = -1; //设置音乐播放次数 -1为一直循环
[player play]; //播放