为什么我的应用程序会在录制时显示录制(脉冲红色)状态栏?

时间:2014-09-09 22:32:57

标签: ios core-audio avaudiosession

我的应用有时会使用麦克风,但即使我没有使用麦克风,离开我的应用时也会出现红色状态栏。

我已将AVAudioSession的类别设置为SoloAmbient。当我录制时,我将其设置为PlayAndRecord,当我完成后,我将其设置回SoloAmbient。但即使该类别是SoloAmbient,我仍然会看到红色状态栏。

即使我的应用程序根本没有访问麦克风,我仍然会收到此红色状态栏行为。我将应用配置为背景音频。什么可能使系统认为我正在录制的想法?

编辑:经过一些实验,看起来我可以通过延迟创建录制AUGraph来阻止应用在启动时导致红色状态栏,直到我真正开始录制。

然而,停止录制后我仍然看到红色状态栏。当我停止录制时,我停止AUGraph并处理它并将AVAudioSession类别更改回SoloAmbient。但是当我离开应用程序时,我仍然看到红色状态栏。

1 个答案:

答案 0 :(得分:-2)

经过长期漫长的长期研究和障碍后,我发现了以下的简单解决方案

在Targets-> General->部署信息中检查HideStatusBar选项

如下所示!

enter image description here

在viewDtroller(你在RootViewController中保存的那个)中,在viewDidAppear中添加这行代码......

    [[UIApplication sharedApplication] setStatusBarHidden:NO];

因为当您取消选中HideStatusBar选项并且您的应用需要任何后台进程或音频相关进程时,状态栏将变为红色并且高度增大。如果您不想在整个应用程序中使用状态栏,则不要在viewDidAppear中添加上述行并选中HideStatusBar Option。

相关问题