【问题标题】:How to display a red status bar when the home button is pressed?按下主页按钮时如何显示红色状态栏?
【发布时间】:2013-01-11 07:48:02
【问题描述】:

如何在我的录制应用程序进行录制时按下主页按钮时显示红色状态栏?

我检查了这个问题:How to hide the red bar under the iOS's status when recording?

但是,我使用 Core Audio 和 Extended Audio File Services 进行录音。我无法找到任何适当的文档来以编程方式执行此操作。任何帮助或指点将不胜感激。

【问题讨论】:

  • 您是否为您的应用注册了背景音频? (多任务模式)
  • 我试过这样做,但没有成功。

标签: iphone ios ipad core-audio


【解决方案1】:

我相信的话

按下主页按钮时的红色状态栏

您在询问是否可以在您的应用处于后台时将状态栏颜色设置为红色。

红色状态栏表示应用程序正在录制音频,由系统设置。 sdk 中没有任何内容支持我们在您的应用程序处于后台时更改状态栏颜色。

请参阅this official forum thread(需要登录)解决此问题,回答此问题的人是 Apple 员工。

编辑:

如果您的应用尝试在后台录制,但您的问题是红色在状态栏上不可见,那么原因之一可能是您的录音会话正在终止/暂停。尝试为您的录制注册一个完成处理程序,并查看它是否比您预期的更早触发。

【讨论】:

  • 是的,我在问我的应用程序在后台进行录音时是否可以将状态栏颜色设置为红色。我了解红色状态栏表示应用程序正在录制音频。但是,即使我的应用程序正在录制并进入后台,我也看不到红色状态栏。这就是我发布这个问题的原因。同样,正如我在问题中提到的,我正在使用 Core Audio 和 Extended Audio File Services 进行录音。
  • 是否在后台进行录制?我的意思是录制部分是否正常工作,没有红色状态栏?
  • 我已将“应用程序播放音频”添加到“必需的背景模式”中,因此确实会在后台进行录制。
【解决方案2】:

这是私人的,但有效

 [[[UIApplication sharedApplication] statusBar] setTintColor:[UIColor redColor] withDuration:3.2]

当然会在商店里被拒绝。

理想情况下,您可以在 UIStatusBar 上添加一个类别并覆盖 drawRect:,这就是我用来为导航栏着色的方式,但看起来该类也是私有的。

可能有一些运行时技巧可以让您绕过它,但您仍然会冒着应用程序在以后被丢弃的风险。

也许苹果稍后会打开这个,就像他们打开导航栏和标签栏一样?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多