如何设置视频通话以全程编程方式启动? (Lync SDK)

时间:2011-09-03 14:53:35

标签: c# wpf fullscreen lync-2010 lync

我正试图找到一种在全屏视图中启动视频会议的方法,我正在使用Lync SDK编写WPF应用程序。

我一直在查看Lync SDK并在MSDN上练习一周的示例,但我没有看到在视频通话中将视图设置为全屏的属性或方法。 Intellisense也没有帮助我。

那么如何全屏设置视频视图?我停靠后也应该这样做吗?

以下是我用来呼叫某人的代码;

        Dictionary<AutomationModalitySettings, object> _ModalitySettings = 
            new Dictionary<AutomationModalitySettings, object>();

        List<string> inviteeList = new List<string>();
        inviteeList.Add("elise@contoso.com");

        IAsyncResult Iar = _automation.BeginStartConversation(
            AutomationModalities.Video
            , inviteeList
            , _ModalitySettings
            , callbackVideo
            , null);

        _automation.EndStartConversation(Iar);

这是我从代理处调用新对话事件的对接方法(这两个代码只是来自MSDN的略微编辑的代码);

    private void DockTheConversation(string ConversationId)
    {
        _LyncModel.WindowPanelHandle(ConversationId, 
             myFormsHost.Child.Handle.ToInt32());
    }

我可以访问ConversationManagerConversationWindowConversation(正在停靠的那个),LyncClientAutomation。但我找不到任何相关的方法或属性。

ConversationWindow.IsFullScreen属性是只读的,因此也不起作用。我不知道如何编辑;

Microsoft.Lync.Model.Conversation.AudioVideo.VideoWindow.FullScreenMode
Microsoft.Lync.Model.Conversation.AudioVideo.VideoWindow.WindowState

属性,或者它们是否有效。

我已经在全屏幕上运行我的WPF应用程序(WindowState, WindowStyle),但我也希望托管的Lync ConversationWindow能够填满屏幕,就像按下右上角的按钮一样。

任何帮助表示赞赏!谢谢!

2 个答案:

答案 0 :(得分:2)

我很确定您无法使用Lync SDK执行此操作。如果您在UI抑制模式下使用Lync运行应用程序,则可以访问底层的VideoWindow,以便您可以将其放置在屏幕上的任何位置,但这仅适用于UI抑制模式。

我认为可能使用Win32调用。您应该能够确定构成对话窗口的个人窗口,找到“视频”窗口,然后使用SetParent从父对话窗口中删除它。然后,您可以使用Win32 ShowWindow来最大化窗口。

我没试过这个,但我相当肯定它会在Win32调用正确的情况下工作。如果您不熟悉Win32,那么PInvoke.net是一个很棒的Win32参考,可能是一个很好的起点。

答案 1 :(得分:0)

如果要创建全屏,则应将对话窗口的属性更改为以下代码:

InputSimulator.SimulateKeyPress(VirtualKeyCode.F5);
相关问题