Last active
December 27, 2016 21:58
-
-
Save pacoelayudante/7baeee5a62cee79c4dce53799f931531 to your computer and use it in GitHub Desktop.
Activa o Desactiva la Torch con lag porque no es codigo nativo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
// AndroidCamTorch.Activar() | |
// AndroidCamTorch.Desactivar() | |
public class AndroidCamTorch | |
{ | |
#if UNITY_ANDROID | |
static AndroidJavaClass cameraClassInternal; | |
static AndroidJavaObject cameraInstanceInternal, cameraParametersInternal; | |
static AndroidJavaClass cameraClass | |
{ | |
get | |
{ | |
if (cameraClassInternal == null) | |
{ | |
WebCamDevice[] devices = WebCamTexture.devices; | |
cameraClassInternal = new AndroidJavaClass("android.hardware.Camera"); | |
} | |
if (cameraClassInternal == null) | |
{ | |
Debug.LogError("No se encuentra la Cam API de Android"); | |
return null; | |
} | |
else return cameraClassInternal; | |
} | |
} | |
static AndroidJavaObject cameraInstance | |
{ | |
get | |
{ | |
if (cameraInstanceInternal == null) | |
{ | |
cameraInstanceInternal = cameraClass.CallStatic<AndroidJavaObject>("open", 0); | |
} | |
if (cameraInstanceInternal == null) | |
{ | |
Debug.LogError("No se pudo abrir camara"); | |
return null; | |
} | |
else return cameraInstanceInternal; | |
} | |
} | |
static AndroidJavaObject cameraParameters | |
{ | |
get | |
{ | |
if (cameraParametersInternal == null) | |
{ | |
cameraParametersInternal = cameraInstance.Call<AndroidJavaObject>("getParameters"); | |
} | |
if (cameraParametersInternal == null) | |
{ | |
Debug.LogError("No se pudieron getear los parametros"); | |
return null; | |
} | |
else return cameraParametersInternal; | |
} | |
} | |
#endif | |
public static void Activar() | |
{ | |
#if UNITY_ANDROID && !UNITY_EDITOR | |
cameraParameters.Call("setFlashMode", "torch"); | |
cameraInstance.Call("setParameters", cameraParameters); | |
cameraInstance.Call("startPreview"); | |
#endif | |
} | |
public static void Desactivar() | |
{ | |
#if UNITY_ANDROID && !UNITY_EDITOR | |
cameraParameters.Call("setFlashMode", "off"); | |
cameraInstance.Call("setParameters", cameraParameters); | |
cameraInstance.Call("stopPreview"); | |
#endif | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment