簡體   English   中英

Unity3d檢查用戶是否已授權設備攝像頭

[英]Unity3d check if user has authorized device camera

我開發了一個適用於iOS和Android的Vuforia應用程序,當應用程序第一次運行時,系統會提示用戶授權使用設備的相機。

如果用戶未授權攝像機,則當用戶導航到“捕獲”場景時,攝像機視圖為黑色。

我查看了Untiy3D文檔並找到了Application.HasUserAuthorization類,但如果我理解正確,這只適用於Unity網絡播放器?

如何檢查用戶是否允許在Unity3D中使用相機(c#)。

任何建議將不勝感激! TIA!

作為Android上的用戶,我在安裝apk時會收到提示,它會使用相機,一旦我接受就是這樣。 作為開發人員,我不需要檢查。

這就是我使用Vuforia API啟動相機的方法。

 CameraDevice.Instance.Stop();
 CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_FRONT);
 CameraDevice.Instance.Start();

CameraDevice是一個可以調用的Singleton。

Application.RequestUserAuthorization顯然適用於任何PC或移動設備相機。 我在iPhone上使用它和Unity3D的NatCam插件,並使用以下腳本檢查/提示用戶攝像頭權限。 while()循環允許他們花時間給予許可。

int cameraPermission = 0;

// Use this for initialization
public override void Start () {

    if (!Application.HasUserAuthorization (UserAuthorization.WebCam)) {
        // request camera use
        Application.RequestUserAuthorization (UserAuthorization.WebCam);
    } else {
        cameraPermission = 1;
    }

    // if we don't have permission, wait until we do 
    while (cameraPermission != 1) {
        // wait a sec
        System.Threading.Thread.Sleep(1000);
        // if user enables preference
        if (Application.HasUserAuthorization (UserAuthorization.WebCam)) {
            // proceed to start app
            cameraPermission = 1;
        }
    }

    // Start base
    base.Start ();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM