如题,我用C#编写了一个winform程序,想用pictureBox播放视频文件(方法一),但是只能显示单个视频帧,当循环显示视频帧的时候,程序就卡死了。网上也有另外一种显示视频的方法,即用CvInvoke.cvNamedWindow新建一个窗口(方法二),然后在这个窗口里显示视频。我试了第二个方法是可行的。奇怪的是,当我同时用这两个方法的时候,方法一竟然可以运行了。也就是说只有在方法二存在的前提下,方法一才能用,请问这是为什么???下图是我的程序和效果图
如上图程序,如果把方法二的第1句去掉(第2,3两句不会影响),那pictureBox就不能显示视频了,整个程序卡死。
请问这到底是为什么呢??有什么方法可以只用pictureBox播放视频而不用新建窗口?
能告诉我隐藏的方法怎么写吗?另外我现在遇到另一个问题,我想用两个pictureBox播放两路视频,打开第一个pictureBox播放正常,当此时打开第二个的时候,第一视频就被暂停了,请问这个应该怎么解决呢?
追答我对这个的具体实现并不是很清楚,但是可以肯定的是不能用这个方法同时播放两个视频的因为它们处于同一进程,而且做的都是截图。你这个方法并不是真正意义上的播放视频。建议你采用COM组件什么的,或者是封装好的控件,不要自己这样做。要在一个程序中同时播放两个视频可能需要用到多线程技术,没有你想的那么简单的。