在录音过程中处理警报中断

Ana*_*and 5 iphone sdk alerts recording

我正在开发一个录音应用程序,其中可能会通过电话,短信和/或系统警报中断.至于电话,我意识到录音必须停止并成功完成.我的挑战似乎与其他警报有关,例如电池电量不足,警报,短信等.目前,我已设法在警报中断弹出时暂停并保存录音,但我正在寻找更有效的选项.

在ad-hoc分发模式的大多数真实场景中,我注意到我的用户在录制他们的声音时甚至不监视iPhone或iPod屏幕.此外,如果我们在iPod Touch上测试这个应用程序,那么警报的声音非常微弱,他们会错过警报并继续录制,只有在几分钟后或者在会话结束时才能实现录制被打断了

这是我的问题:

  1. 如果出现任何系统警报或短信警报,是否可以在后台继续录制语音?
  2. 如果没有,是否有可能让应用程序在后台播放特定声音,直到用户意识到出现问题,查看屏幕,如果他们忽略系统警报,那么它将使应用程序进入到应用程序现在已经获得焦点,然后停止音频警报,然后可以选择从他们中断的位置继续录制.

任何帮助将不胜感激.处理这种情况的任何其他想法都是最受欢迎的.

Cyp*_*ian 2

您可以尝试实现应用程序委托方法

-(void)applicationWillResignActive:(UIApplication *)application{
    [recorder playSound];
    [recorder pause];
}

-(void)applicationDidBecomeActive:(UIApplication *)application{
    [recorder record];
}
Run Code Online (Sandbox Code Playgroud)

将这些方法放在 appDelegate 类中。

如果您想实现自己的警报,请在应用程序WIllResignActive中执行此操作,但我不确定您是否应该这样做,因为所有警报(如短信、推送通知或电池警告)都会触发振动和声音。