AudioQueueServices在后台播放无法正常工作

时间:2018-07-24 09:03:02

标签: ios audioqueueservices ios-background-mode

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

我有:

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

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

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

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

根据我的日志,一旦应用切换到后台,我便停止接收任何回调,因此播放几乎在之后立即停止。我需要怎么做才能使其继续?

1 个答案:

答案 0 :(得分:0)

  1. Checking AVAudioSession is active
  2. Checking AudioQueueRef is running:

    UInt32 isRuning = NO;
    UInt32 size = sizeof(isRuning);
    AudioQueueGetProperty(inAQ, kAudioQueueProperty_IsRunning, &isRuning, &size);