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]; //播放
本文介绍如何在iOS设备上实现应用的后台音频播放功能。主要内容包括:在Info.plist文件中配置必要的后台模式,添加AVFoundation框架并使用AVAudioSession进行音频会话管理,以及设置应用接收远程控制事件。
6483

被折叠的 条评论
为什么被折叠?



