在后台播放一个 AVAudioPlayer 实例
Posted
技术标签:
【中文标题】在后台播放一个 AVAudioPlayer 实例【英文标题】:Play one instance of AVAudioPlayer in the background 【发布时间】:2011-09-30 11:36:54 【问题描述】:我的应用中有几个 AVAudioPlayer 实例(在不同的类中)。我为一个实例添加了多任务处理功能,但现在所有音频都在后台播放。我将“应用程序播放音频”键添加到我的 plist 中,并且:
[[AVAudiosession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
到我的班级。如何将此代码仅定位到 AVAudioPlayer 的 1 个实例?
【问题讨论】:
【参考方案1】:我能找到的唯一解决方法是暂停特定的 AVAudioPlayer 实例:
applicationWillResignActive
我将实例的创建移至 appdelegate,然后通过以下方式访问它:
appDelegate = [[UIApplication sharedApplication] delegate]
在我的课堂上。可能有更好的方法来做到这一点,但这是我能找到的最快和最简单的方法。
【讨论】:
以上是关于在后台播放一个 AVAudioPlayer 实例的主要内容,如果未能解决你的问题,请参考以下文章
iOS - AVAudioPlayer 在后台不会继续播放下一首歌曲