Unity 5.5.0p1
I’m working with webcam textures to play with some kind of AR.
//Front Camera
mCamera = new WebCamTexture(devices[devices.Length - 1].name);
//Back Camera
mCamera2 = new WebCamTexture();
Whenever I have the “mCamera2” in Play(); I can’t get the torch to be on.
(I just have 1 camera in Play() at a time)
Here my torch code:
#if UNITY_ANDROID
private AndroidJavaObject cameraAnd = null;
#endif
void FlashLightOn()
{
#if UNITY_ANDROID
if (cameraAnd == null)
{
AndroidJavaClass cameraClass = new AndroidJavaClass("android.hardware.Camera");
cameraAnd = cameraClass.CallStatic<AndroidJavaObject>("open");
}
AndroidJavaObject cameraParameters = cameraAnd.Call<AndroidJavaObject>("getParameters");
cameraParameters.Call("setFlashMode", "torch");
cameraAnd.Call("setParameters", cameraParameters);
cameraAnd.Call("startPreview");
#endif
}
// the off for the torch if anyone is searching for it
void FlashLightOff()
{
#if UNITY_ANDROID
if (cameraAnd != null)
{
AndroidJavaObject cameraParameters = cameraAnd.Call<AndroidJavaObject>("getParameters");
cameraParameters.Call("setFlashMode", "off");
cameraAnd.Call("setParameters", cameraParameters);
cameraAnd.Call("release");
cameraAnd = null;
}
#endif
}
The code works great, except for the fact that only works when there is no active webcam texture OR the front camera webcam is on.
Also while testing I had the torch on, swapped camera and had a crash…