Как программно настроить запуск видеозвонка в полноэкранном режиме? (пакет SDK для Lync)

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

Я просматривал 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());
    }

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

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


person umutto    schedule 03.09.2011    source источник


Ответы (2)


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

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

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

person Paul Nearney    schedule 06.09.2011
comment
Спасибо миллион раз, спас мне жизнь! Сейчас посмотрю ссылку. Но я не совсем уверен, достаточно ли я способен выполнять такую ​​сложную работу. Кроме того, режим подавления пользовательского интерфейса слишком сложен для реализации за такое короткое время. Еще раз спасибо, вы лучшие! - person umutto; 07.09.2011

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

InputSimulator.SimulateKeyPress(VirtualKeyCode.F5);
person thinzar    schedule 16.11.2015