首页 > 代码库 > iOS 后台播放音频文件
iOS 后台播放音频文件
首先,在info.plist里申明需要在后台播放音频内容:
添加key UIBackgroundModes
Tips:UIBackgroundModes
audio键 同时还能让app使用AirPlay播放流媒体
除此之外还需要在工程中设置对AVAudioSession 进行设置:
AVAudioSession *audioSession = [AVAudioSession sharedInstance]; NSError *setCategoryError = nil;BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];if (!success) { /* handle the error condition */ } NSError *activationError = nil;success = [audioSession setActive:YES error:&activationError];if (!success) { /* handle the error condition */ }
AVAudioSession的默认类别为AVAudioSessionCategorySoloAmbient,需要将其类别设置为AVAudioSessionCategoryPlayback才可以在屏幕锁定或者静音状态播放音频
AVAudioSession的可以设置的种类如下:AVAudioSessionCategoryAmbient: 后台播放类型,会和其它音乐混合的音频类型 AVAudioSessionCategorySoloAmbient: 后台播放类型,其它音乐会停止播放 AVAudioSessionCategoryPlayback: 播放音乐文件AVAudioSessionCategoryRecord : 录音时使用AVAudioSessionCategoryPlayAndRecord: 录音并需要播放时使用AVAudioSessionCategoryAudioProcessing:编码解码时or 不播放音频 or 未录音时使用AVAudioSessionCategoryMultiRoute: 同时可以有多种输入或输出,例如:usb和耳机同时输出,但并非所有输入输出方式均支持
输入方式仅包括:AVAudioSessionPortUSBAudio AVAudioSessionPortHeadsetMic AVAudioSessionPortBuiltInMic 输出仅包括:AVAudioSessionPortUSBAudio AVAudioSessionPortLineOut AVAudioSessionPortHeadphones AVAudioSessionPortHDMI AVAudioSessionPortBuiltInSpeaker
iOS 后台播放音频文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。