Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3D IP摄像机_Unity3d_Ip Camera - Fatal编程技术网

Unity3D IP摄像机

Unity3D IP摄像机,unity3d,ip-camera,Unity3d,Ip Camera,我正在使用Marmitek IP RoboCam 641将视频源导入unity。我使用不断刷新的快照来更新屏幕上的GUI.DrawTexture。然而,我最近从Velleman无线ip彩色摄像头切换到Marmitek。现在,我的快照只刷新一次或两次,然后停止并出现以下错误: UnityException:Recv故障:连接已重置 SEMTEX+c__迭代器0.MoveNext位于Assets/Scripts/SEMTEX.cs:37 这是我的代码: using UnityEngine; usin

我正在使用Marmitek IP RoboCam 641将视频源导入unity。我使用不断刷新的快照来更新屏幕上的GUI.DrawTexture。然而,我最近从Velleman无线ip彩色摄像头切换到Marmitek。现在,我的快照只刷新一次或两次,然后停止并出现以下错误:

UnityException:Recv故障:连接已重置 SEMTEX+c__迭代器0.MoveNext位于Assets/Scripts/SEMTEX.cs:37

这是我的代码:

using UnityEngine;
using System.Collections;

public class SEMTEX : MonoBehaviour {

//public string uri = "http://192.168.1.101/snapshot.cgi";//velleman
public string uri = "http://192.168.1.30/cgi/jpg/image.cgi";//marmitek
public string username = "admin";
public string password = "admin";
int calc = 0;


Texture2D cam;
Texture2D cam2;


public void Start() {
    cam=new Texture2D(1, 1, TextureFormat.RGB24, true);
    StartCoroutine(Fetch());
    cam2=new Texture2D(1, 1, TextureFormat.RGB24, true);
    StartCoroutine(Fetch());
}


public IEnumerator Fetch() {
    while(true) {
        Debug.Log("fetching... "+Time.realtimeSinceStartup);

        WWWForm form = new WWWForm();
        form.AddField("dummy", "field");    // required by WWWForm
        WWW www = new WWW(uri, form.data, new System.Collections.Generic.Dictionary<string,string>() {  // using www.headers is depreciated by some odd reason
            {"Authorization", "Basic " + System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(username+":"+password))}
        });
        yield return www;

        if(!string.IsNullOrEmpty(www.error))
            throw new UnityException(www.error);

        www.LoadImageIntoTexture(cam);
        www.LoadImageIntoTexture(cam2);
    }
}


public void OnGUI() {
    GUI.DrawTexture(new Rect(0,0,Screen.width/2,Screen.height), cam);

    calc = (Screen.width/2-100);

    GUI.DrawTexture(new Rect(calc,0,Screen.width/2,Screen.height), cam2);
    Debug.Log (Screen.width);
}

有人对我的错误有什么看法吗?

哦,我的错。这里是:UnityException:Recv失败:连接被重置SEMTEX+c__迭代器0.MoveNext at Assets/Scripts/SEMTEX.cs:37您是否尝试过通过其他方式点击相机?“连接被重置”对我来说意味着摄像头正在断开连接,而不是你的代码有任何问题。我可以使用公司提供的程序通过摄像头查看,效果很好。但我需要在Unity3D中复制一个项目的效果。不知何故,在显示了几帧之后,它停止获取新的快照。