-->

Lync: VideoWindows of AVModality.VideoChannel are

2019-09-19 01:50发布

目前,我们正在试图将的Lync通信(SDK的Lync 2010)到我们的应用程序,我们已经运行与问题VideoWindowsCaptureVideoWindowRenderVideoWindow了的) AVModalityVideoChannel :他们总是空,即使成功调用BeginStart 。 连接是绝对成立。 我们可以谈。 我们自己的视频显示在远程Lync客户端。 AVModalityStateConnectedVideoChannelState去从ConnectingReceiveSend

不要紧,当我们如何试图访问这些:后直接BeginStart ,在AsyncCallbackBeginStart ,为应对各种状态变化或响应外部触发(用户点击事件); 在主/ UI线程,或事件/回调线程。 这两个视频窗口总是空。

在示例应用程序为“%ProgramFiles%\微软的Lync \ SDK \样本\ AudioVideoConversation”,一切按预期工作:只要BeginStart完成后,我们可以访问非空的视频窗口。 在我们的小独立的工程样机,它的工作原理了。 但在我们的实际应用中,它没有。

我们有双重检查一切,我们确实已用完什么可能导致此问题的想法。

任何想法,任何提示? 凡是我们应该知道的?

(链接到相应的MSDN论坛线程)

更新 (4日2012年7月,15:46 CET):

当我们一起来看看在VideoChannel的成员,我们发现一个内部收到COMException在“Microsoft.Office.Uc”出现:错误加载DLL,HRESULT:0x80029C4A(TYPE_E_CANTLOADLIBRARY)。 在更多细节附截图 。

我们做这个错误的一些研究,但没有发现任何对我们的工作。 任何想法是什么原因导致的异常?

更新 (9日2012年7月,16:43 CET):

我们做了一些进一步的测试...

我们的软件包括一个主要的应用,并通过加载插件多类“应用程序”的MEF 。 我们创建了一个最小的测试应用程序,使视频通话:视频窗口没有工作(如预期)。 但是,当我们采取了相同的代码,并建立我们的架构之外的独立的解决方案,那么它的工作。 所以,它与环境,而不是代码的问题。

起初,我们怀疑MEF可能是问题。 所以,我们砍死的Lync代码到我们的主要应用 - 绕过整个应用程序的体系结构。 还是行不通。

然后,我们切掉了我们的整个系统,点点滴滴,直到我们终于到达一个点,它的工作。 以下错误轨道几次之后,我们终于找到了罪魁祸首... Quartz.NET !

一些奇怪的原因的组件参考的Quartz.dll v.1.0.3.3的存在本身,即使没有的石英一行代码,使所述视频窗口到不行。 令人难以置信,但它是100%可重复的:如果我们把前面提到的测试解决方案,什么也不做,但添加引用,它停止工作。

任何想法的事情怎么这么有可能吗?

Answer 1:

我们解决了它! 的种类。 到Quartz.NET DLL的引用在某种程度上造成了问题。 在更新的问题的更多细节。

现在,我们已经删除了使用石英组件。 目前,我们并不需要它。

但我在进一步投入仍然有兴趣仅仅提到是如何导致这样的问题。



文章来源: Lync: VideoWindows of AVModality.VideoChannel are null after successfully calling BeginStart (COMException HRESULT: 0x80029C4A TYPE_E_CANTLOADLIBRARY)