我使用 Sinch
库在 iOS
中创建了一个 VoIP 应用程序。我能够成功调用电话,但在创建双倍高度的通话状态栏时遇到问题。我的意思是,出现我的通话窗口,在该窗口上我有一个按钮可以离开 View 并转到其他地方(无需挂断电话),我希望显示一个绿色的双倍高度通话状态栏所以我可以点击它并返回通话 View 。
当我将应用程序发送到后台时,我在 springboard 上看到双倍高的红色条返回到我的应用程序,因此后台模式和 voip 模式似乎设置正确。我确信 WhatsApp
设法获得绿色条(如 here 所示)。
我已经搜索了一段时间,我能找到的最好的方法是使用 AVAudioSession
作为 this 上的回答。问题。
然而,即使按照那里的说明并尝试添加一些其他想法,我也无法弹出绿色的通话状态栏。感觉我必须告诉 iOS
我的调用正在处理哪个 View ?以便它知道何时显示绿色条?
我试过的代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionModeVoiceChat error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
这显然已经由 Sinch
处理,但是,正如他们在 documentation 中提到的那样所以我真的很茫然。
The Sinch SDK applies the audio session category mode AVAudioSessionModeVoiceChat for improved voice quality.
最佳答案
所以IOS在后台录制的时候会自动按照你的描述显示红条。要显示您自己的自定义,您走在正确的轨道上,您需要在每个 View 上都有自己的通知,我会实现一个基本 Controller 并确保它在需要时可见。检查这个 SO Displaying a stock iOS notification banner when your app is open and in the foreground?对于这样做的一种方式
关于ios - 在 iOS 中显示自定义 VoIP 应用程序的通话状态栏(双高),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571066/