我正在Unity中开发Open Source App以使用ARCore。在其中,我使用以下代码显示在AR中用户环境中放置的平面上从前置摄像头捕获的视频。
public class MirrorController : MonoBehaviour
{
private WebCamTexture webCamTexture;
public void Play()
{
if (webCamTexture == null)
{
WebCamDevice[] devices = WebCamTexture.devices;
foreach (WebCamDevice device in devices)
{
if (device.isFrontFacing)
{
webCamTexture = new WebCamTexture(device.name);
GetComponent<Renderer>().material.mainTexture = webCamTexture;
webCamTexture.Play();
break;
}
}
}
}
}
当我在Pixel 2上测试时,这很好用,但是当我在三星Galaxy S8上试用该应用程序时,我在日志中收到以下警告:
W/CameraBase: An error occurred while connecting to camera 1: Status(-8): '8: connectHelper:1647: Too many cameras already open, cannot open camera "1"'
在调用webCamTexture.Play()
时,似乎提出了这个问题。
我在互联网上找不到任何有关此错误的信息。我发现它特别奇怪,因为S8的相机应用程序有一个功能,您可以同时使用两个相机拍照。
有谁知道如何解决这个问题?