【问题标题】:Showing in-call status bar (double height) for a custom VoIP app in iOS在 iOS 中显示自定义 VoIP 应用程序的通话状态栏(双倍高度)
【发布时间】:2016-06-02 14:52:39
【问题描述】:

我使用Sinch 库在iOS 中创建了一个VoIP 应用程序。我能够成功拨打电话,但无法创建双高通话状态栏。我的意思是,我的通话窗口出现了,在那个窗口上,我有一个按钮可以离开视图并转到其他地方(不挂断通话),我希望显示一个绿色的双高通话状态栏,所以我可以点击它并返回给我调用视图。

当我将应用程序发送到后台时,我在跳板上看到双高红色条返回我的应用程序,因此后台模式和 voip 模式似乎设置正确。我肯定知道WhatsApp 设法获得绿条(如here 所示)。

我已经搜索了一段时间,我能找到的最好的方法是使用 AVAudioSession 回答 this 问题。

但是,即使按照那里的说明并尝试添加一些其他想法,我也无法弹出绿色的通话状态栏。感觉就像我必须告诉iOS 我的电话正在处理哪个视图?让它知道什么时候显示绿条?

我试过的代码:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionModeVoiceChat error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

这显然已经由Sinch 处理,但是正如他们的documentation 中提到的那样,我真的很茫然。

Sinch SDK 应用音频会话类别模式 AVAudioSessionModeVoiceChat 以提高语音质量。

【问题讨论】:

  • 您是否在问为什么状态栏是红色而不是绿色,或者为什么它没有显示在您的应用程序中?红色状态栏用于音频背景模式,因此可以将其删除并仅使用 voip。在您的应用中显示状态栏是您必须自己做的事情。
  • 我在应用程序之外时的红色状态栏很好。但是当我在应用程序中时,我想要绿色的,即我想要两者。如果是我自己做的,如何创建双高状态栏?

标签: ios objective-c voip sinch


【解决方案1】:

因此,当您在后台录制时,IOS 会自动显示您所描述的红色条。要显示您自己的自定义,您在正确的轨道上,您需要在每个视图上都有自己的通知,我将实现一个基本控制器并确保它在需要时可见。检查此 SO Displaying a stock iOS notification banner when your app is open and in the foreground? 以了解这样做的一种方法

【讨论】:

  • 你确定这个...?我可以将它设置为绿色,看起来像状态栏......?我不想在每个视图上都收到通知,我想要这张green bar,第二张图片。如果这有某种关联,请进一步解释。
  • 是的,我没有使用我自己的 whats 应用程序,但在 iOS 中,您没有 警告 您正在使用应用程序中的麦克风,Green in call横幅仅适用于手机,所以如果什么应用程序有一个,他们会自己构建它。它只是您可以随意放置的视图。
【解决方案2】:

感谢来自Sinch 的@cjensen 的帮助,非常有用。发布我自己的答案,因为我觉得他的回答不能完全回答我的问题。

基本上,iOS 没有显示应用内状态栏的内置功能,您需要自己创建。 @cjensen 的回复让我看到 this 文章对此进行了解释。

如果您需要应用内通话状态栏,您需要自己创建或使用类似 KrauseFx 的 TSMessages 的库来为您完成。正如@cjensen 所建议的那样使用UILocalNotification 只是提供一个入口点来决定何时 创建此横幅的一种方式。

【讨论】:

  • 我设法创建了自己的应用内通话状态栏,但是当用户点击它时返回本机通话视图的代码是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 2016-04-21
  • 1970-01-01
  • 2017-11-13
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多