c# - Unity Android 前置摄像头 WTF 错误

标签 c# android unity3d camera

我正在使用 Unity 开发适用于 Android 的应用程序。 尝试使用前置摄像头,从 WebCamTexture 获取数据。后向工作正常,但当我尝试翻转相机时,出现了这个糟糕的事情:

**bitstream == (int)0xAFAFAFAF

作为统一控制台中的错误。然后,WebCamTexture 完全停止工作,即使使用后置摄像头也是如此。 有什么想法吗?

附言使用 Unity 5.3.3p1...可能是 Unity 错误?

最佳答案

注意

对于任何阅读者,Unity 出现了一个新的 (2016) 插件,

https://www.assetstore.unity3d.com/en/#!/content/52154

如果您想在 Unity 中使用设备相机,基本上您“必须得到这个”。

Unity 的设备相机是 Unity 中最糟糕的东西——它实际上什至不是 alpha 质量。这是 Unity 中最糟糕的事情,他们将它包括在内是荒谬的,它只是一个测试运行。

编写双平台真正原生的高速相机插件极其困难。既然第一个已经出现,除了使用它别无选择。 Unity 的废话是不可能的,您可以轻松地花费 2-3 周的时间来尝试让粗糙的相机工作。


对于更换相机的灾难,这是一个相当安全的方法!

public void CycleCams()
        {
        StartCoroutine(_cycle());
        }
    
    private IEnumerator _cycle()
        {
        WebCamDevice[] d = WebCamTexture.devices;
        if ( d.Length <= 1 )
            {
            Debug.Log("only one.");
            if (d.Length==1) Debug.Log("Name is " +d[0].name);
            yield break;
            }
        
        Debug.Log("0 " +d[0].name);
        Debug.Log("1 " +d[1].name);
        
        if ( wct.deviceName == d[0].name )
            {
            wct.Stop();
            yield return new WaitForSeconds(.1f);
            wct.deviceName = d[1].name;
            yield return new WaitForSeconds(.1f);
            wct.Play();
            
            nameDisplay.text = "\"" +wct.deviceName +"\"";
            yield break;
            }
        
        if ( wct.deviceName == d[1].name )
            {
            wct.Stop();
            yield return new WaitForSeconds(.1f);
            wct.deviceName = d[0].name;
            yield return new WaitForSeconds(.1f);
            wct.Play();
            
            nameDisplay.text = "\"" +wct.deviceName +"\"";
            yield break;
            }
        }

关于c# - Unity Android 前置摄像头 WTF 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845540/

相关文章:

c# - 查找相关提交的高效算法

android - 如何查找哪个库使用 AndroidX

android - 自定义K9包名

android - cocos2dx android AppDelegate 链接时出错

c# - 统一平稳运动

Javascript 倒计时不在 C# Foreach 循环内迭代

c# - 错误消息 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'

git - merge 后如何在git-lfs中修复Unity .prefab文件

android - 适用于 Unity Android 的 PubNub GCM

c# - 下载时检查文件的完整性