在iPhone上,如何在应用程序运行时允许其他应用在后台继续运行?

时间:2012-03-22 16:21:56

标签: iphone background-process

例如,如果我在Pandora中开始播放歌曲然后打开Safari浏览网页,Pandora歌曲将继续播放。但是,如果我在Pandora中开始播放一首歌,然后打开我的应用程序就会杀死潘多拉歌曲。在应用程序运行时,如何让Pandora继续播放?

2 个答案:

答案 0 :(得分:3)

您需要告诉iOS系统应该使用哪种行为来集成两个音频会话。默认情况下,它会在您使用音频时取消背景音频。但是可以按照AVAudioSession docs here

中的描述修改此行为

引用:

  

与音乐播放器合作

     

从用户的iPod库播放音频以及您自己的声音   (如“iPod库访问编程指南”中所述),您必须使用   音频会话的所谓可混合类别配置。   有两种配置音频会话的替代方法   混合的:

     

使用AVAudioSessionCategoryAmbient(或等效的   kAudioSessionCategory_AmbientSound)类别 - 总是可混合的。   使用可混合类别覆盖属性   kAudioSessionProperty_OverrideCategoryMixWithOthers,如

中所述      

“微调类别”,以进行不可混合的播放   类别可混合。使用其中一个选项后,您的声音会响起   不要打断音乐播放器 - 音乐播放器也不会发出声音   打断你的。

答案 1 :(得分:2)

您的应用可能“杀死”后台应用有两个原因:

  1. 它开始播放自己的音乐
  2. 你使用太多内存来继续播放,操作系统会关闭后台应用
  3. 您无需选择特殊选项;你只需要成为一个“好公民”。