IOS - 后台播放音频(非音乐)
大家首先区分一下音频和音乐
苹果手机左侧最上边按钮 这是调整铃声是否静音的 这里的铃声指闹钟、系统铃声等 比如AudioServicesPlaySystemSound
左侧下边两个按钮(调整音量) 这是控制多媒体音乐音量的 多媒体音乐和铃声不同 比如avplayer播放的就是多媒体音乐
介绍一下我的需求 我要实现的是应用进入后台的时候提示用户app已进入后台,这种按需求来想应该归类为铃声,下面介绍方法
首先,后台播放声音的设置
//应用即将暂停活动时调用
- (void)applicationWillResignActive:(UIApplication *)application {
//设置并激活音频会话类别
AVAudioSession *session=[AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
}
播放音频
//应用进入后台的时候调用
- (void)applicationDidEnterBackground:(UIApplication *)application {
//获取要播放音效的URL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"backGround.mp3" withExtension:nil];
//将音效的URL桥接为CFURLRef类型的URL
CFURLRef urlRef = (__bridge CFURLRef)(url);
//根据音效urlRef生成对应的SystemSoundID(传soundID的地址,生成之后会根据地址找到它并给它赋值)
AudioServicesCreateSystemSoundID(urlRef, &soundID);
//播放音效
AudioServicesPlaySystemSound(soundID);
}