问题标签 [in-call]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
483 浏览

ios7 - 当 In-Call 状态栏切换 Monotouch 时,ios 7 自动调整 UINavigationController 的大小

我尝试过显示通话状态栏时遇到问题。

但仍在推动所有视图的底部,隐藏视图底部的所有按钮或控件,我还在根视图控制器中尝试了相同的代码,但不起作用。

我以这种方式对所有控件使用灵活的 UI:

我也隐藏了导航栏

有人能帮我吗?还有另一种方法可以自动调整视图大小或检测状态栏的变化以重新加载我的视图?

0 投票
1 回答
331 浏览

ios - 当通话状态栏可见时,UIButtons 的点击区域会发生变化

更新 2

我的怀疑是正确的。问题出在动画中,因为我没有考虑 Y 轴的原点,当通话状态栏可见时,它是不同的。我将添加一个显示相关代码的答案。

更新 1

我认为菜单的动画导致了问题。当我按下菜单时,它会启动一个动画来显示菜单。动画将呈现的 VC 向右滑动,将其缩小一点并在 z 轴上旋转以使其看起来平滑酷炫。如果我能找到任何东西,我会朝那个方向进行调查并更新。

原帖

在我的应用程序中显示通话状态栏时,我注意到一些 UI 问题。

我有一个自定义视图,它充当我的导航栏,并包含一个返回菜单的小按钮。(我会称之为 menuBtn)。在这个自定义导航栏下方,我有一个tableViewHeader包含 2 个按钮的表格视图,用于在表格中的日期之间导航。(我将调用这些按钮:prevBtennextBtn)。我将以这 3 个视图为例,但问题无处不在……

通常一切都按预期完美运行。即使通话状态栏变得可见,调整大小也很完美,生活也很棒。当我单击时问题开始,menuBtn因此当前视图滑开以显示主菜单(这样做我在 之间切换Storyboards)。现在,当我回到原始屏幕时,所有视图看起来都还可以(按大小),但是现在点击区域与按钮的图像不匹配:我可以看到按钮应该在的位置,但是当我点击它没有任何反应。奇怪的是,我可以点击按钮下方,它会触发绑定到这些按钮的动作。

让它变得更奇怪 - 当问题发生时,我可以看到有时特定按钮的点击区域(即menuBtn)与不同的按钮( )重叠prevBtn

一直在寻找原因/解决方案。我没有运气阅读了以下帖子:

  1. ClipToBounds父视图
  2. 玩弄AutoResizingMasks

我有一种预感,这与我在两者之间切换的事实有关Storyboards- 尽管尝试在界面构建器中设置自动调整大小并没有完成这项工作。

一些可能对任何可能想要帮助的人有所帮助的代码

menuBtn按下时触发的方法:

一些截图

在第三个屏幕截图中,当我点击prevBtn(下方的那个menuBtn)时,我会menuBtn激活操作。(如我画的圆圈所示 - 因此在红色圆圈内点击应该激活prevBtn但确实会触发menuBtn。在黑色圆圈中点击应该什么都不做,但会触发prevBtn

正常状态 通话状态栏已打开 点击区域错误

希望有人可以帮助我找到问题的根源并解决它。

提前致谢。

0 投票
2 回答
12277 浏览

ios - 检测用户是否有通话状态栏

如何检测用户是否正在通话或网络共享?我有一个这样的 iAd 子视图:

并且在用户通话时设置错误?我如何检测到这一点?

0 投票
2 回答
883 浏览

ios - iOS 通话状态栏更新视图控制器在屏幕上呈现模式

我有资格问这个问题,因为经过近 2 天的谷歌搜索、堆栈溢出等的大型研究......

我的问题是这样的:我正在从我的主 ViewController 中呈现 ViewController,如下所示:

每当 iPhone 用户正在通话或将他或她的手机用作热点时,状态栏会放大,将我的模式呈现的 VC 推到底部,但原点设置为 (0;0) 问题是当用户在通话期间完成通话时他在我的应用程序状态栏中调整为正常大小,但 Modal VC 没有向上移动。

在此处输入图像描述

由于此通知,我在代码中发生时就知道了这一点:

最糟糕的是帧是正确的并且原点仍然是(0,0)

有没有办法引用模态呈现的 vc ?没有解雇并再次提出?

0 投票
1 回答
523 浏览

ios - 当通话栏处于活动状态时,自定义 UIViewController 过渡设置错误的 topLayoutGuide 和 bottomLayoutGuide

我有一个UIViewController介绍另一个UIViewController。两个视图控制器都使用topLayoutGuide自动bottomLayoutGuide布局。

一切都很好,有和没有通话栏。或者有或没有自定义过渡......

但是,当有一个通话栏一个自定义转换时,我呈现的视图控制器的子视图错位了 20 像素(导致底部的剪辑视图)。

我查了一下,是那个topLayoutGuidebottomLayoutGuide哪个放错了……

这是转换的代码:

这是演示的代码:

0 投票
1 回答
248 浏览

ios - 在模拟器中激活时,iOS 通话状态栏不显示。这是正常行为吗?

在模拟器中激活时,通话状态栏不显示。

我的应用程序始终隐藏常规状态栏,这是正常行为吗?

如果通话状态栏根本不显示,我的应用程序会被拒绝吗?

0 投票
0 回答
249 浏览

ios - 通话状态栏与呈现视图控制器重叠

假设我只有 3 个控制器FirstViewControllerSecondViewController一个RootViewController.

FirstViewController从 开始RootViewController,然后SecondViewControllerFirstViewController某个 Button 的点击开始,因此控制器的层次结构将如下所示:

现在,当我在屏幕上显示in-call status bar使用模拟器的Toggle In-call status bar选项并通过关闭它返回时,' 的视图不会向下移动,因此会与控制器的视图重叠。SecondViewControllerFirstViewControllerFirstViewControllerGreen status bar

你们有任何想法如何处理这种情况吗?或者我们真的需要手动调整视图框架吗?

笔记:

1)我正在使用演示应用程序尝试这个场景,所以我没有复杂的代码。

2)我还发现了一个奇怪的行为,如果我显示in-call status barFirstViewController返回RootViewController,它不会弄乱根控制器的布局并且它的视图正确地向下移动(RootViewController在情节提要中FirstViewController并且SecondViewController有单独的 XIB)。

任何指针将不胜感激。

0 投票
1 回答
200 浏览

ios - 通话状态栏强制使用黑条 - iOS

当 viewcontroller 覆盖prefersStatusBarHidden并设置为true. 当有通话状态栏时,顶部有一个黑条。有没有办法避免这种情况?

在此处输入图像描述

0 投票
0 回答
2984 浏览

android - 在 Android 中以编程方式静音通话

我正在重新讨论一个旧问题(在 2014 年初发布):

对于最近的一个项目,我正在构建一个可以使现有呼叫静音并从用户那里获取录音的应用程序。我知道通话录音可以工作,这没问题(只记录用户麦克风)。现在我还可以通过编程方式减少音量,我使用Github 上的代码,这里

具体来说,我正在使用AudioManager类将音量设置为 0,并将静音作为备份,但不起作用..我想知道这是否是三星特定的问题..

我打印出上面的布尔变量用于测试目的,但都打印出'False'。

但是三星 S5 设备根本不允许我将音量设置为 0。即使使用音量滑块调整通话音量也是如此。滑块不会物理移动到搜索栏上的最左侧位置。我可以拖动到的最左边的位置见下图:

通话音量搜索栏最小位置

有人对我如何使来电流静音有任何想法吗?

0 投票
2 回答
1932 浏览

ios - How to show double height green statusbar (In-Call) in foreground app on device?

There's a lot of questions here asking for displaying a red recording bar while in background. It's totally clear I should use AVAudioSession category AVAudioSessionCategoryPlayAndRecord for that. My question is how can I display a green In-Call bar (or at least red bar) in a foreground app when having an active VOIP call in my app? So I could return to call UI tapping a statusbar area, just like Whatsapp or Skype does.

What I've already tried:

  • voip and audio modes in UIBackgroundModes key in Info.plist + setCategory:AVAudioSessionCategoryPlayAndRecord + setActive as suggested in this SO answer (gives me a red statusbar when going background, but nothing while in foreground)
  • Previous + AVAudioSession + setMode:AVAudioSessionModeVoiceChat - didn't work
  • Set kCFStreamNetworkServiceTypeVoIP flag to socket in pjsip sources and recompiled it - didn't help. Also, deprecated since iOS 8.
  • Created a separate socket, set the voip flag for inputStream/outputStream: [self.inputStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType] (took the sample code from here)

Using pjsip for calls. What else can I try to increase a statusbar height, moving all the UI down? Are there any standard ways to do that, or I should hack it my own by resizing a root UIWindow and setting another green UIWindow under the statusbar?


Edit: Since no answer is found for a standard way to do that, accepted @roman-ermolov answer. For those who will search for an answer I may suggest several options to do it yourself:

  1. Wrap your root viewcontroller inside container, like in Apple's iAdSuite with Storyboards example. Take a look at my sample project for example. Probably the best way to make that bar.
  2. Hack UINavigationBar height (see this approach) - doesn't work for landscape yet, but may probably be solved
  3. Control your main UIWindow's frame yourself, place another UIWindow under the statusbar with the desired content.