Как настроить видеозвонок для запуска в полноэкранном режиме программным способом? (Lync SDK) - PullRequest
2 голосов
/ 03 сентября 2011

Я пытаюсь найти способ начать видеоконференцию в полноэкранном режиме, я пишу приложение WPF с использованием Lync SDK.

Я просматривал 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 заполняло экран, как при нажатии кнопки в правом верхнем углу.

Любая помощь приветствуется! Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Я почти уверен, что вы не сможете сделать это с помощью Lync SDK.Если вы запускаете свое приложение с Lync в режиме подавления пользовательского интерфейса, вы можете получить доступ к базовому VideoWindow, чтобы вы могли свободно размещать его в любом месте экрана, но это работает только в режиме подавленного пользовательского интерфейса.

IЯ думаю, что это будет возможно с помощью вызовов Win32.Вы должны быть в состоянии определить отдельные окна, которые составляют окно беседы, найти окно Видео и затем использовать SetParent, чтобы удалить это из родительского окна беседы.Затем вы могли бы использовать, например, Win32 ShowWindow, чтобы максимизировать окно.

Я не пробовал этого, но я совершенно уверен, что он будет работать при правильных вызовах Win32.Если вы не знакомы с Win32, то PInvoke.net является отличным справочником по Win32 и может быть хорошим местом для начала.

0 голосов
/ 16 ноября 2015

Если вы хотите создать полноэкранный режим, вы должны записать измененное свойство окна разговора в виде следующего кода:

InputSimulator.SimulateKeyPress(VirtualKeyCode.F5);
...