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]; //播放