unity 检测相机麦克风权限

#region unity检测权限
  
  public void ReqLiveAuth(UnityAction action)
  {
   StopCoReqCamera ();
   m_CoReqCamera = StartCoroutine (SyncReqCamera(action));
  }

  IEnumerator SyncReqCamera(UnityAction action)
  {
   yield return Application.RequestUserAuthorization(UserAuthorization.WebCam | UserAuthorization.Microphone);
   WebCamDevice[] devices = WebCamTexture.devices;
   yield return 0;
   yield return Application.RequestUserAuthorization (UserAuthorization.Microphone);
   string[] mics = Microphone.devices;
   yield return 0;
   if (!Application.HasUserAuthorization (UserAuthorization.WebCam) || !Application.HasUserAuthorization (UserAuthorization.Microphone)) {
    //TODO
   } else {
    if (action != null) {
     action.Invoke ();
    }
   }
   yield break;
  }
  //停止协程
  private void StopCoReqCamera()
  {
   if (m_CoReqCamera != null) {
    StopCoroutine (m_CoReqCamera);
    m_CoReqCamera = null;
   }
  }
  #endregion

你可能感兴趣的:(Unity3D,基础知识,Microphone,麦克风,相机,Unity,权限)