2

我正在尝试找到一种方法以全屏视图开始我的视频会议,我正在使用 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());
    }

我可以访问ConversationManager, ConversationWindow, Conversation(正在停靠的那个)LyncClientAutomation. 但是我在任何中都找不到任何相关的方法或属性。

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

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

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

WindowState, WindowStyle我已经在全屏(

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

4

2 回答 2

2

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

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

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

于 2011-09-06T14:21:32.720 回答
0

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

InputSimulator.SimulateKeyPress(VirtualKeyCode.F5);
于 2015-11-16T08:10:57.497 回答