ios - 在 iOS 中显示自定义 VoIP 应用程序的通话状态栏(双高)

标签 ios objective-c voip sinch

我使用 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/

相关文章:

ios - 视觉格式语言中的 "|"和 [superview] 有什么不同?

iphone - NSArray 的前三项变成 NSString?

objective-c - 在我现有的 Objective-C 项目中实现桥接概念后,.app 文件太大

database - 可以直接从数据库查询 Asterisk CEL 信息吗? (PostgreSQL)

c# - 如何检索按钮 (MonoTouch) 上的 TouchUpInside 返回值?

ios - swift Firebase 删除观察者

ios - 收到本地通知时无法播放音乐,当应用程序快速处于后台状态时

ios - 将 OCMock 与未知数量的方法调用一起使用

c++ - 调用应用程序 libjingle,用户自动从名册中删除。为什么?

ionic-framework - 使用 Socket.IO 创建 VOIP 聊天应用程序