使用 Zoom SDK 最小化视频通话和共享视图

2024-01-01

我正在尝试将 Zoom SDK 会议集成到 Android 应用程序中。我已经努力使用自定义会议用户界面并学习如何使用 Zoom 的视频视图(称为MobileRTCVideoView。这是我想创建的界面:

我尝试过的:

  • 研究了 Zoom 的示例应用程序Github https://github.com/zoom/zoom-sdk-android.
  • 研究了Zoom文档 https://marketplace.zoom.us/docs/sdk/native-sdks/android/mastering-zoom-sdk/in-meeting-function/customized-meeting-ui/overview用于定制会议用户界面。
  • Asked https://devforum.zoom.us/t/custom-meeting-ui-resized-user-cam-shared-view/15718在开发者论坛上。
  • Read 相关主题 https://devforum.zoom.us/t/android-video-call-minimization/224/8在开发者论坛上。

但是,我仍然不明白如何实现它,并且非常感谢有关如何使用的一些解释MobileRTCVideoView,并实现如图所示的会议UI。会议一次最多只能容纳两名用户。

我使用 API Key 和 Secret 初始化 Zoom SDK,并使用电子邮件登录。我使用以下命令启用自定义会议用户界面:

zoomSDK!!.meetingSettingsHelper.isCustomizedMeetingUIEnabled=true

我开始与以下人员进行即时会议:

val meetingService=zoomSDK!!.meetingService
val opts=InstantMeetingOptions()
opts.no_driving_mode = true
opts.no_invite = false
opts.no_meeting_end_message = false
opts.no_titlebar = false
opts.no_bottom_toolbar = false
opts.no_dial_in_via_phone = true
opts.no_dial_out_to_phone = true
opts.no_disconnect_audio = true
meetingService.startInstantMeeting(this,opts)

我尝试通过为自定义会议创建另一个活动来遵循示例应用程序,但显然类和代码不完整:

class CustomMeetingActivity: FragmentActivity() {

    private var zoomSDK:ZoomSDK?=null
    private var inflater:LayoutInflater?=null
    private var normal_view:View?=null
    private var video_view:MobileRTCVideoView?=null
    private var video_manager:MobileRTCVideoViewManager?=null
    private var meeting_service:MeetingService?=null
    private var in_meeting_service:InMeetingService?=null
    private var share_view:MobileRTCShareView?=null
    private var meeting_video_view:FrameLayout?=null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        zoomSDK=ZoomSDK.getInstance()
        meeting_service = ZoomSDK.getInstance().meetingService
        in_meeting_service=ZoomSDK.getInstance().inMeetingService
        if(meeting_service==null || in_meeting_service==null){finish();return}

        setContentView(R.layout.custom_meeting_layout)

        inflater=layoutInflater;
        normal_view = inflater!!.inflate(R.layout.meeting_content_normal,null)
        meeting_video_view = findViewById<View>(R.id.meetingVideoView) as FrameLayout
        share_view = findViewById<View>(R.id.sharingView) as MobileRTCShareView
        video_view=normal_view!!.findViewById(R.id.videoView) as MobileRTCVideoView

    }

}

在清单中添加了活动:

    <activity
        android:name="com.mypackage.appname.CustomMeetingActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@style/ZMTheme.SubWindow">
    </activity>

我可以给出的可靠建议是:

  1. 覆盖或重用现有示例即可开始。 (尽管他们的示例应用程序看起来像是匆忙完成的)
  2. 不要使用他们的样式,覆盖他们的样式并使用它们。
  3. 扫描/研究我的会议活动。大部分繁重的工作已经在其中完成了。
  4. 检查他们的两个样本。如果你无法从MyMeetingActivity中找出sharedView,那么看来你还没有努力学习

过去几周我在这方面做了很多工作。定制的 UI 运行良好。我正在寻找画廊视图。我们添加并重用了许多特性和功能。总的来说,这是一次坎坷的旅程,但当我花时间在上面时仍然很顺利。

我不明白为什么这个问题还没有答案。不幸的是,我太忙了,无法实际为您编写代码,特别是因为我什至都没有使用 Kotlin 进行开发。对不起。希望你能明白。如果我实现画廊视图,那么也许我可以回来给你一些指导。祝你好运

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Zoom SDK 最小化视频通话和共享视图 的相关文章

随机推荐