代码之家  ›  专栏  ›  技术社区  ›  Iosif

CallKit忽略在proximityMonitoringEnabled上设置的值

  •  1
  • Iosif  · 技术社区  · 8 年前

    我有一个使用呼叫套件的voip应用程序。当通话开始时,我启用了接近监视器。

    [UIDevice currentDevice].proximityMonitoringEnabled = YES;
    

    当添加视频流时,我禁用了接近监视器。问题是,当我把手机靠近耳朵时,即使proximityMonitoringEnabled设置为NO,屏幕仍会变黑。

    注意:如果我禁用呼叫套件,接近监视器将按预期工作。
    另一件奇怪的事是,如果我从代码中删除proximityMonitoringEnabled并启用call kit,当我在通话中把手机靠近耳朵时,屏幕就会变黑。
    我在iPhone 7 iOS 11.0.3上面临这个问题。

    2 回复  |  直到 8 年前
        1
  •  2
  •   BonzaiThePenguin    8 年前

    你无法改变这种行为,视频通话仍被视为通话,因此接近传感器始终处于开启状态。这是意料之中的行为,甚至我的安卓手机也会在视频通话中这样做。

        2
  •  1
  •   Bws Sluk    7 年前

    您可以在通话过程中使用禁用/启用接近监控 AVAudioSession AVAudioSessionModeVideoChat ,以启用它使用 AVAudioSessionModeVoiceChat . 小心,这些模式仅适用于 AVAudioSessionCategoryPlayAndRecord .

    P、 我不认为这很重要,但只测试了 AVAudioSessionCategoryOptions.rawValue == 0