AFoge videoSourcePlayer无法关闭摄像头,灯打开之后一直亮

qq_24103813 2015-05-17 05:44:10
关闭代码:
if(mv.videoSourcePlayer.InvokeRequired == true)
{
CloseSXT csxt = new CloseSXT(Closesxt);
mv.videoSourcePlayer.BeginInvoke(csxt);
}

private void Closesxt()
{
mv.videoSourcePlayer.SignToStop();
mv.videoSourcePlayer.WriteForStop();
}
mv 是在子线程中创建的实例对象,而CloseSXT 是一个delegate 委托,mv是一个我自己定义的类的实例化对象,其中也在此类中定义了VideoSourcePlayer控件,现在要调用VideoSourcePlayer控件的关闭方法,就出现不能跨线程访问控件的异常,于是就想使用委托和Invoke方式解决。但是使用后发现一直都没调用委托方法,摄像头关闭不了,一直都被占用。如果关闭主进程使用Evironment.Exit()是可以释放的,但是这样与程序是相违背的。

实在不知道怎么解决,求给我高手帮忙解决,另外我想如果有强制释放摄像头的方法的话,那就更好了。
...全文
813 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2015-05-18
  • 打赏
  • 举报
回复
你就不应用子线程 去创建mv..要用UI线程去创建。 要不然连委托都用不了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧