iOS4之後就支持後台播放音頻了。只需下面兩步就可以實現後台播放音頻操作了:
1、在Info.plist中,添加"Required background modes"鍵,其值設置如下圖所示:
2、添加AVFoundation框架,然後再添加如下兩段代碼
添加後台播放代碼:
- //後台播放音頻設置
- AVAudioSession *session = [AVAudioSession sharedInstance];
- [session setActive:YES error:nil];
- [session setCategory:AVAudioSessionCategoryPlayback error:nil];
以及設置app支持接受遠程控制事件代碼:
- //讓app支持接受遠程控制事件
- [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
設置app支持接受遠程控制事件,其實就是在dock中可以顯示應用程序圖標,同時點擊該圖片時,打開app,如下圖所示:
下面是後台播放音頻的完整測試代碼:
- //後台播放音頻設置
- 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]; //播放