在以前的篇幅中提到了unity端和iOS端的动态交互。现在出现了一个问题。因为设备上的摄像机是实例化过来的。并且是一个单例。unity虽然已经不再显示了。但是其实后台还是开启摄像头追踪物体的状态。如果我们原生中也用到了后置的摄像头就会出现一个结果那就是崩溃。我们可以通过unityiOS之间的通讯。去告知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;
}

特此记录下。。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
猜你喜欢
  • 2021-04-24
  • 2022-12-23
  • 2022-01-07
  • 2021-05-23
  • 2022-01-21
  • 2021-06-15
  • 2022-01-30
相关资源
相似解决方案