我有一个代表摄像机的第三方ActiveX。 (AcxCamera myCam;
)
我通过Connect方法将此相机连接到视频流。 (myCam.Connect(url);
)
需要注意的是,AcxCamera是从第三方Acx继承的对象,所以我可以“控制”Connect方法。
现在,我有一些应该同步启动的摄像头。
我想做点什么:
foreach(AcxCamera cam in myCams)
cam.BeginConnect();
有可能吗?
答案 0 :(得分:1)
在处理ActiveX控件时,几乎可以肯定您正在处理位于STA公寓内的COM对象。这意味着控件绑定到特定线程,在本例中为UI。如果你试图从后台线程调用它的方法,CLR和COM将密谋使调用实际发生在控件具有亲和力的线程上。
简而言之,即使使用一些奇特的线程逻辑,你也不太可能实现你想要做的事情。