Tag: 通话中

如何在设备上的前台应用程序中显示双高度绿色状态栏(In-Call)?

这里有很多问题要求在后台显示红色的录制栏。 这完全清楚,我应该使用AVAudioSession类别AVAudioSessionCategoryPlayAndRecord 。 我的问题是,当我的应用程序中有一个活动的VOIP电话时,如何在前台应用程序中显示绿色的In-Call栏(或至less红色栏)? 所以我可以返callback用UI 攻击状态栏区域,就像Whatsapp或Skype一样。 我已经尝试过了: UIBackgroundModes和audio模式在Info.plist + setCategory:AVAudioSessionCategoryPlayAndRecord + setActive在UIBackgroundModes键在这个答案build议(给我一个红色的状态栏时,去背景,但没有在前台) 以前的+ AVAudioSession + setMode:AVAudioSessionModeVoiceChat – 没有工作 将kCFStreamNetworkServiceTypeVoIP标志设置为pjsip源代码中的套接字并重新编译 – 没有帮助。 此外,自iOS8以来已弃用。 创build一个单独的套接字,为inputStream / outputStream设置voip标记: [self.inputStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType] (从此处取样示例代码) 使用pjsip进行调用。 还有什么我可以尝试增加状态栏高度,移动所有的用户界面? 有没有什么标准的方法来做到这一点,或者我应该通过调整根UIWindow并在状态栏下设置另一个绿色的UIWindow来破解我自己的? 编辑 :由于没有find答案的标准方式来做到这一点,接受@罗曼 – 埃尔莫洛夫答案。 对于那些将寻找答案的人,我可能会build议你自己做几个select: 将容器中的根视图控制器包裹起来 ,就像苹果的iAdSuite中的Storyboards示例一样 。 看看我的示例项目 。 可能是最好的方式来制作吧。 Hack UINavigationBar的高度(参见这个方法) – 不适用于风景,但可能可以解决 自己控制你的主UIWindow的框架,在状态栏下面放置另一个UIWindow,并带有所需的内容。