Unity+Odroid:USB 摄像头的 WebCamTexture 黑屏问题
Unity+Odroid: WebCamTexture black screen issue with USB Camera
我用的是ODROID-XU4 (Android 4.4).
WebCamTexture
和 WebCamDevices
在移动设备 (Galaxy S4) 上正常工作,但是当我在 ODROID-XU4 上安装我的 apk 时,应用程序正在运行但我没有在 USB 相机上获取帧设备。为什么?如何解决?
我在 C# 中使用了以下代码
WebCamDevice[] devices;
string resultString;
string deviceName;
WebCamTexture wbTxt;
// Use this for initialization
IEnumerator Start()
{
resultString = "Start.";
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{
resultString = "Permission";
devices = WebCamTexture.devices;
if (devices.Length >= 0)
{
deviceName = devices[0].name;
wbTxt = new WebCamTexture(deviceName, 640, 480, 30);
GetComponent<Renderer>().material.mainTexture = wbTxt;
wbTxt.Play();
resultString = "No Problem";
}
else
{
resultString = "WebCam not Found";
}
}
else
{
resultString = "No permission!";
}
}
void OnGUI()
{
for (var i = 0; i < devices.Length; i++)
{
GUI.Box(new Rect(100, 100 + (i * 25), 300, 25), devices[i].name);
}
GUI.Box(new Rect(100, 100 + 100, 300, 25), resultString);
}
此代码打印到屏幕:权限
我用的是ODROID-XU4 (Android 4.4).
WebCamTexture
和 WebCamDevices
在移动设备 (Galaxy S4) 上正常工作,但是当我在 ODROID-XU4 上安装我的 apk 时,应用程序正在运行但我没有在 USB 相机上获取帧设备。为什么?如何解决?
我在 C# 中使用了以下代码
WebCamDevice[] devices;
string resultString;
string deviceName;
WebCamTexture wbTxt;
// Use this for initialization
IEnumerator Start()
{
resultString = "Start.";
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{
resultString = "Permission";
devices = WebCamTexture.devices;
if (devices.Length >= 0)
{
deviceName = devices[0].name;
wbTxt = new WebCamTexture(deviceName, 640, 480, 30);
GetComponent<Renderer>().material.mainTexture = wbTxt;
wbTxt.Play();
resultString = "No Problem";
}
else
{
resultString = "WebCam not Found";
}
}
else
{
resultString = "No permission!";
}
}
void OnGUI()
{
for (var i = 0; i < devices.Length; i++)
{
GUI.Box(new Rect(100, 100 + (i * 25), 300, 25), devices[i].name);
}
GUI.Box(new Rect(100, 100 + 100, 300, 25), resultString);
}
此代码打印到屏幕:权限