0

使用 AudioQueueServices 播放流式 MP3 文件,当应用切换到后台时播放器停止。

我有:

  • 在“功能”项目设置页面的“背景模式”面板上,我打开了“音频、AirPlay 和画中画”和“背景获取”
  • 在“信息”页面的“自定义 iOS 目标属性”下,添加了“必需的后台模式”节点,其中包含“应用程序使用 AirPlay 播放音频或流式传输音频/视频”和“应用程序从网络下载内容”条目

  • 在播放器模块的初始化代码中,我包含以下调用:

    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &error];

    完成时不会发出错误信号。

根据我的日志,一旦应用程序切换到后台,我就停止接收任何回调,因此播放几乎立即停止。我需要做什么才能让它继续?

4

1 回答 1

0
  1. 检查 AVAudioSession 是否处于活动状态
  2. 检查 AudioQueueRef 是否正在运行:

    UInt32 isRuning = NO;
    UInt32 size = sizeof(isRuning);
    AudioQueueGetProperty(inAQ, kAudioQueueProperty_IsRunning, &isRuning, &size);
    
于 2018-07-24T10:24:23.550 回答