我将在后台运行一个计时器多长时间?

时间:2014-07-22 13:53:36

标签: audio ios7 timer

在我的应用程序中,我每8秒钟在后台运行一个计时器来播放自定义声音,它工作正常,但有时会停止,所以我怎样才能在后台连续播放声音? 目前我正在使用以下代码在后台播放声音

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

让我知道在后台持续播放声音的好方法

1 个答案:

答案 0 :(得分:0)

简短回答:您的应用只是暂停。

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

  1. 您需要告诉iOS您是音频应用,并且在暂停时请求额外的周期。
  2. UIBackgroundModes需要获得批准
  3. 来自documentation

    应用的背景模式UIBackgroundModes值= audio

    该应用程序向用户播放可听内容或在后台录制音频。 (此内容包括使用AirPlay播放音频或视频内容。)

    如果您的应用不属于以下任何类别,那么将背景扩展到典型 5 秒之外的唯一选择是调用-beginBackgroundTaskWithName:expirationHandler:。您可能会在 30 秒左右暂停。

    • 音频
    • 位置
    • VOIP
    • 报摊含量
    • 外部附件
    • bluetooth-central&蓝牙周
    • 远程通知