我正在尝试使用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()
}