Unity導出的Xcode項目,iOS端管理攝像頭的方法


Vuforia導出的工程中管理攝像頭問題

在以前的篇幅中提到了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;
}

特此記錄下。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM