audio - 我将在后台运行计时器多长时间?

标签 audio ios7 timer

在我的应用程序中,我每隔8秒在后台运行一个计时器来播放自定义声音,效果很好,但是在以后的某个时间会停止,那么如何在后台连续播放声音?
目前,我正在使用以下代码在后台播放声音

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

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

最佳答案

简短回答:您的应用已被暂停。

详细回答:您缺少后台熟练实现的关键部分。

  • 您需要告诉iOS您是音频应用程序,并且在暂停时要求额外的循环。
  • UIBackgroundModes必须得到批准

  • documentation:

    应用程序的背景模式:UIBackgroundModes值= audio
    该应用程序在后台播放用户可听的内容或录制音频。 (此内容包括使用AirPlay流音频或视频内容。)

    如果您的应用未属于以下任何类别,则将背景扩展到典型的 5 秒后的唯一选择是调用-beginBackgroundTaskWithName:expirationHandler:。您可能会在 30 秒左右的时间内暂停。
  • 音频
  • 位置
  • voip
  • 报亭内容
  • 外部附件
  • 蓝牙中心和蓝牙外围设备
  • 获取
  • 远程通知
  • 关于audio - 我将在后台运行计时器多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889335/

    相关文章:

    javascript - setInterval 无法正常工作

    python-3.x - 在Pyglet(Raspberry Pi 4B,Raspbian)中播放音频时听不到声音

    c# - 将音频输入转换为时间并使用C#显示

    iphone - 应用程序转到后台时播放音频

    javascript - 如何设置 native 对象属性

    c - 用一个物理定时器模拟多个虚拟定时器

    ios - 在 iOS 7 中,如何更改 UIActionSheet 中选项的颜色?

    ios - UIImage renderingMode 彩色图标 -> UIAlertView 上的灰度

    ios - UIActivityViewController 在导航栏上显示电子邮件模态视图 Controller

    go - 条件超时