Свернутый видеозвонок и общий просмотр с помощью Zoom SDK - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь интегрировать собрания Zoom SDK в приложение Android. Некоторое время я боролся с использованием настраиваемого пользовательского интерфейса для собраний и узнал, как использовать видеопросмотр Zoom под названием MobileRTCVideoView. Вот интерфейс, который я хотел бы создать:

custom meeting ui with minimized user video views and a shared view

То, что я пробовал:

Однако я до сих пор не понимаю, как это реализовать, и был бы очень признателен за некоторые пояснения относительно того, как использовать MobileRTCVideoView и достичь пользовательского интерфейса встречи, показанного на изображении. На собраниях должны участвовать не более двух пользователей одновременно.

Я инициализирую Zoom SDK с помощью ключа API и секрета и использую вход по электронной почте. Я включаю пользовательский интерфейс собрания с помощью:

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>
...