我重写了关于UIBackgroundModes的Apple文档,这就是它所说的:
当此键存在时,系统的 音频框架自动阻止 您的申请被暂停 当它移动到后台时。如 只要它播放音频, 应用程序继续在 支持该音频的背景。
但是我有一个使用AVPlayer类播放音频流的应用程序,它无法使用它。这个键假设是为了节省我们明确实现音频会话的工作。谁能告诉我为什么这不起作用呢?有没有人使用它并使这项工作?
答案 0 :(得分:4)
在播放音频之前尝试执行以下操作:
NSError *sessionError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
答案 1 :(得分:0)
确保AVPlayer
的代码实际上正在运行。在我的情况下,即使我为Core Location
启用了密钥,如果我实际上没有通过调用start
在代码中使用,则应用程序将被暂停,就像没有定义密钥一样。出于这个原因,我通常不会stop
核心位置,只是让它使用最不准确的选项来保留设备电源,但继续使用后台运行模式。