Unity导出的Xcode项目,iOS端管理摄像头的方法
Vuforia导出的工程中管理摄像头问题
在以前的篇幅中提到了unity
端和iOS
端的动态交互。现在出现了一个问题。因为设备上的摄像机是实例化过来的。并且是一个单例。unity
虽然已经不再显示了。但是其实后台还是开启摄像头追踪物体的状态。如果我们原生中也用到了后置的摄像头就会出现一个结果那就是崩溃。我们可以通过unity
与iOS
之间的通讯。去告知unity
关闭摄像头和物体追踪。
这样做的好处,不仅不会造成崩溃。对于应用的耗电和CPU的占用上都是一个不小的优化。
直接上CS方法
// 关闭相机
public void CloseCameraDevice ()
{
CameraDevice.Instance.Stop();
CameraDevice.Instance.Deinit();
}
// 打开相机
public void OpenCameraDevice ()
{
CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_DEFAULT);
CameraDevice.Instance.Start();
}
// 关闭识别
public void CloseCloudReco ()
{
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;
cloudRecoBehaviour.CloudRecoEnabled = false;
}
// 打开识别
public void OpenCloudReco ()
{
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;
cloudRecoBehaviour.CloudRecoEnabled = true;
}
特此记录下。。