iOS实现在后台播放音乐


  • iOS4之后就支持后台播放音频了。只需下面两步就可以实现后台播放音频操作了。 


1、在Info.plist中,添加"Required background modes"键,其值设置如下图所示:


2、添加AVFoundation框架,然后再添加如下两段代码


3 在播放器播放音乐的代码所在处,添加如下两段代码(当然,前提是已经添加了AVFoundation框架):

添加后台播放代码:

[cpp] view plaincopy

  1. //后台播放音频设置  

  2.     AVAudioSession *session = [AVAudioSession sharedInstance];    

  3.     [session setActive:YES error:nil];    

  4.     [session setCategory:AVAudioSessionCategoryPlayback error:nil];   


以及设置app支持接受远程控制事件代码:

[cpp] view plaincopy

  1. //让app支持接受远程控制事件  

  2. [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];  

设置app支持接受远程控制事件,其实就是在dock中可以显示应用程序图标,同时点击该图片时,打开app,如下图所示:

iOS实现在后台播放音乐_第1张图片



下面是后台播放音频的完整测试代码:

[cpp] view plaincopy

  1. //后台播放音频设置  

  2. AVAudioSession *session = [AVAudioSession sharedInstance];    

  3. [session setActive:YES error:nil];    

  4. [session setCategory:AVAudioSessionCategoryPlayback error:nil];   

  5.   

  6. //让app支持接受远程控制事件  

  7. [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];  

  8.   

  9. //播放背景音乐  

  10. NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"mp3"];  

  11. NSURL *url = [[NSURL alloc] initFileURLWithPath:musicPath];  

  12.   

  13. // 创建播放器  

  14. AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];  

  15. [url release];  

  16. [player prepareToPlay];  

  17. [player setVolume:1];  

  18. player.numberOfLoops = -1; //设置音乐播放次数  -1为一直循环  

  19. [player play]; //播放  


你可能感兴趣的:(iOS实现在后台播放音乐)