如何通过Zoom Windows Meeting SDK程序化调出Zoom迷你会议窗口?
如何通过Zoom Windows Meeting SDK程序化调出迷你会议窗口
我使用Zoom Windows Meeting SDK v5.13.5.12103,操作系统是Windows 10。想知道有没有办法程序化调出Zoom的迷你会议窗口——这个窗口能把Zoom视频最小化,但保持在其他已打开应用的顶层。我试过用ShowWindow()的不同nCmdShow参数,都没用。现在我有显示和隐藏Zoom会议窗口的两个方法,但隐藏窗口时迷你窗口不会出现。另外secondView看起来也不是我要的,文档说明不够详细,但它似乎和第二显示器显示窗口有关。
原实现代码:
bool FlutterZoomSdkPlugin::showMeeting() { if (FlutterZoomSdkPlugin::MeetingService) { ZOOM_SDK_NAMESPACE::IMeetingUIController* UIController = FlutterZoomSdkPlugin::MeetingService->GetUIController(); if (UIController) { HWND firstView = NULL; HWND secondView = NULL; UIController->GetMeetingUIWnd(firstView, secondView); if (firstView) { ShowWindow(firstView, SW_SHOWMAXIMIZED); UIController->BackToMeeting(); _cputts(L"Show meeting screen"); return true; } } } return false; } bool FlutterZoomSdkPlugin::hideMeeting() { if (FlutterZoomSdkPlugin::MeetingService) { ZOOM_SDK_NAMESPACE::IMeetingUIController* UIController = FlutterZoomSdkPlugin::MeetingService->GetUIController(); if (UIController) { HWND firstView = NULL; HWND secondView = NULL; UIController->GetMeetingUIWnd(firstView, secondView); if (firstView) { ShowWindow(firstView, SW_HIDE); _cputts(L"Hide meeting screen"); return true; } } } return false; }
解决方案
Zoom SDK提供了专门的API来切换迷你窗口模式,无需手动调用ShowWindow处理窗口状态:
修改后的代码示例
bool FlutterZoomSdkPlugin::switchToMiniMeeting() { if (FlutterZoomSdkPlugin::MeetingService) { ZOOM_SDK_NAMESPACE::IMeetingUIController* UIController = FlutterZoomSdkPlugin::MeetingService->GetUIController(); if (UIController) { // 切换到始终置顶的迷你会议窗口 ZOOM_SDK_NAMESPACE::SDKError error = UIController->EnterMiniWindowMode(); if (error == ZOOM_SDK_NAMESPACE::SDKERR_SUCCESS) { _cputts(L"切换到迷你会议窗口"); return true; } else { _cputts(L"切换迷你窗口失败"); return false; } } } return false; } bool FlutterZoomSdkPlugin::leaveMiniMeeting() { if (FlutterZoomSdkPlugin::MeetingService) { ZOOM_SDK_NAMESPACE::IMeetingUIController* UIController = FlutterZoomSdkPlugin::MeetingService->GetUIController(); if (UIController) { // 退出迷你模式,回到正常会议窗口 ZOOM_SDK_NAMESPACE::SDKError error = UIController->LeaveMiniWindowMode(); if (error == ZOOM_SDK_NAMESPACE::SDKERR_SUCCESS) { _cputts(L"退出迷你会议窗口"); return true; } else { _cputts(L"退出迷你窗口失败"); return false; } } } return false; }
关键说明
EnterMiniWindowMode():调用后SDK会自动将会议窗口转为迷你模式,保持顶层显示,无需手动隐藏原窗口。LeaveMiniWindowMode():退出迷你模式,恢复到正常会议窗口状态。- 原有
showMeeting和hideMeeting方法可继续用于完全显示/隐藏会议窗口,与迷你模式逻辑互不干扰。
内容的提问来源于stack exchange,提问作者M14
相关产品推荐
相关产品推荐

