【发布时间】:2014-12-19 02:06:00
【问题描述】:
我的以下代码不起作用。如果我加载到 Firefox 并从我的摄像头流式传输,我的 camUrl 链接有效,但在运行时我的图片框中没有显示任何内容。任何想法为什么?
public Thread _camThread;
private string camUrl = "http://my-domain-ip:2080/videostream.cgi?user=admin&pwd=password";
public HttpWebRequest webReq;
public WebResponse webRes;
public Stream sr;
private void btnStart_Click(object sender, EventArgs e)
{
if (_camThread == null) _camThread = new Thread(new ThreadStart(RunCam));
_camThread.Start();
}
private void RunCam()
{
try
{
webReq = (HttpWebRequest)WebRequest.Create(camUrl);
webReq.AllowWriteStreamBuffering = true;
webReq.Timeout = 20000;
using (webRes = webReq.GetResponse())
{
while ((sr = webRes.GetResponseStream()) != null)
{
image.Image = Image.FromStream(sr);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnStop_Click(object sender, EventArgs e)
{
if (_camThread.IsAlive)
{
_camThread.Abort();
_camThread = null;
}
}
【问题讨论】:
-
您可以尝试在您的 while 循环中添加
image.Refresh()。我不确定这会奏效还是最好的方法,但至少你可能会看到一些东西。 -
试过了,没有运气。
标签: c# stream ip picturebox