弹出回到视图控制器时,相机会话未启动

时间:2018-07-29 18:19:21

标签: nextlevel

我正在尝试使用nextlevel将我的背景设为应用程序中前几个视图控制器的摄影机会话(模糊)。

我的会话运行正常,但是一旦按下新的VC,摄像机会话就会冻结,如果弹出,会话就消失了。

如果我删除以下行:NextLevel.shared.stop(),则当我按下它时会出现,但弹出时不会出现。

我对一个VC进行了子类化,并将其命名为CameraBackedViewController,因此彼此一起使用的VC都从该类继承(因此它们都以相同的方式工作并且都具有相机背景)

我的代码::

  override func viewWillAppear(_ animated: Bool)
  {

    super.viewWillAppear(animated)

    let nextLevel = NextLevel.shared
    if nextLevel.authorizationStatus(forMediaType: AVMediaType.video) == .authorized &&
      nextLevel.authorizationStatus(forMediaType: AVMediaType.audio) == .authorized {
      do
      {
        try nextLevel.start()
      } catch { print("NextLevel, failed to start camera session") }
    } else {
      nextLevel.requestAuthorization(forMediaType: AVMediaType.video)
      nextLevel.requestAuthorization(forMediaType: AVMediaType.audio)
      setAlternativeBackground()
    }
  }

  override func viewWillDisappear(_ animated: Bool)
  {
    super.viewWillDisappear(animated)
    NextLevel.shared.stop()
  }

0 个答案:

没有答案