2014-07-22 27 views
0

在我的应用程序中,我每8秒在后台运行一个定时器来播放自定义声音,但它可以正常工作,但稍后它会停止播放,那么如何在后台连续播放声音? 目前我使用下面的代码在后台播放声音我将在后台运行计时器多久?

 SystemSoundID soundID; 
     AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID); 
     AudioServicesPlaySystemSound(soundID); 

让我知道了很好的解决了在后台继续播放声音

回答

0

简短的回答:您的应用程序是简单地暂停。

长答案:您缺少背景知识实现的关键部分。

  1. 你需要告诉你是一个音频应用的iOS和暂停时,您所请求额外的周期。
  2. UIBackgroundModes是有待批准

documentation

背景模式为应用UIBackgroundModes值= audio

该应用程序播放的音频内容给用户或记录音频,而在后台。 (此内容包括流式音频或使用AirPlay的视频内容。)

如果应用程序不属于任何下面的类别,那么你唯一的选择延长backgrounding超越典型秒是调用-beginBackgroundTaskWithName:expirationHandler:。您可能会在秒内暂停。

  • 音频
  • 位置
  • VOIP
  • 报摊内容
  • 外部附件
  • 蓝牙中央&蓝牙周
  • 远程通知