【发布时间】:2015-06-05 02:09:40
【问题描述】:
我实际上是在尝试使用 Unity3d 开发一个 Android 应用程序(我别无选择:p)。 我的问题是,我怎样才能检索 Android 相机提要并打开手电筒。
我有以下代码来打开闪光灯(它适用于“本机访问”):
AndroidJavaObject cameraParameters = this.camera.Call<AndroidJavaObject>("getParameters");
cameraParameters.Call("setFlashMode", "torch");
this.camera.Call("setParameters", cameraParameters);
this.camera.Call("startPreview");
我有以下代码来获取摄像头供稿(它适用于“统一访问”):
var deviceName = WebCamTexture.devices[0].name;
webcamTexture = new WebCamTexture(deviceName, 1280, 720, 30);
webcamTexture.Play();
data = new Color32[webcamTexture.width * webcamTexture.height];
webcamTexture.GetPixels32 (data);
Debug.Log (data[383650].ToString());
但是如果我用前4行打开手电筒,后面6行就不行了。如果我删除前 4 行,则获取相机馈送的代码将起作用。我认为这是关于并发的......
我有两个选择:找到一种方法来使用“统一访问”(谷歌滚动 4 小时后我没有答案)或使用“java 访问”来获取相机源(相同 4谷歌滚动小时)。
感谢您的回答!
【问题讨论】:
-
您找到解决方案了吗?我开始认为这甚至是不可能的,除非编写一个 java android 的东西作为统一插件,在没有 webcamtexture 的情况下本地完成所有这些
标签: android unity3d concurrency camera flashlight