Я пытаюсь интегрировать собрания Zoom SDK в приложение Android. Некоторое время я боролся с использованием настраиваемого пользовательского интерфейса для собраний и узнал, как использовать видеопросмотр Zoom под названием MobileRTCVideoView
. Вот интерфейс, который я хотел бы создать:
То, что я пробовал:
- Примеры приложений изучаемого Zoom на Github .
- Изучил Zoom документацию для настраиваемого пользовательского интерфейса собрания.
- Спрашивали на форуме разработчиков.
- Прочтите связанные темы на форуме разработчиков.
Однако я до сих пор не понимаю, как это реализовать, и был бы очень признателен за некоторые пояснения относительно того, как использовать 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>