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

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

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

这是我用来打电话给别人的代码;

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

        List<string> inviteeList = new List<string>();
        inviteeList.Add("[email protected]");

        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


属性,或者它们是否起作用。

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

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

最佳答案

我敢肯定,您将无法使用Lync SDK进行此操作。如果您使用Lync在UI抑制模式下运行应用程序,则可以访问基础VideoWindow,因此可以将其自由放置在屏幕上的任何位置,但这仅在UI禁止模式下有效。

我认为使用Win32调用可能会实现。您应该能够确定组成对话窗口的单个窗口,找到“视频”窗口,然后使用SetParent将其从父对话窗口中删除。然后您可以使用例如Win32 ShowWindow来最大化窗口。

我没有尝试过,但是我很确定在正确的Win32调用下它会工作。如果您不熟悉Win32,那么PInvoke.net是一个不错的Win32参考,可能是一个不错的起点。

关于c# - 如何设置以视频方式以全屏方式开始视频通话? (Lync SDK),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7293856/

10-13 06:23