我正试图找到一种在全屏视图中启动视频会议的方法,我正在使用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
(正在停靠的那个),LyncClient
和Automation
。但我找不到任何相关的方法或属性。
ConversationWindow.IsFullScreen
属性是只读的,因此也不起作用。我不知道如何编辑;
Microsoft.Lync.Model.Conversation.AudioVideo.VideoWindow.FullScreenMode
Microsoft.Lync.Model.Conversation.AudioVideo.VideoWindow.WindowState
属性,或者它们是否有效。
我已经在全屏幕上运行我的WPF应用程序(WindowState, WindowStyle
),但我也希望托管的Lync ConversationWindow能够填满屏幕,就像按下右上角的按钮一样。
任何帮助表示赞赏!谢谢!
答案 0 :(得分:2)
我很确定您无法使用Lync SDK执行此操作。如果您在UI抑制模式下使用Lync运行应用程序,则可以访问底层的VideoWindow,以便您可以将其放置在屏幕上的任何位置,但这仅适用于UI抑制模式。
我认为可能使用Win32调用。您应该能够确定构成对话窗口的个人窗口,找到“视频”窗口,然后使用SetParent从父对话窗口中删除它。然后,您可以使用Win32 ShowWindow来最大化窗口。
我没试过这个,但我相当肯定它会在Win32调用正确的情况下工作。如果您不熟悉Win32,那么PInvoke.net是一个很棒的Win32参考,可能是一个很好的起点。
答案 1 :(得分:0)
如果要创建全屏,则应将对话窗口的属性更改为以下代码:
InputSimulator.SimulateKeyPress(VirtualKeyCode.F5);