“ startMeetingWithParams”以参与者身份开始会议-需要它以主持人身份开始会议: 我正在尝试使用react-native-zoom-us开源项目创建一个简单的应用程序,该项目被称为充当“ zoom android sdk”的最小桥梁。通过导入“ us.zoom.sdk.ZoomSDK”在此网桥中访问zoom android sdk。它提供的基本功能包括android sdk的MeetingService的startMeetingWithParams()函数。在下面的代码中,我可以看到他们正在使用某些参数设置StartMeetingParamsWithoutLogin(),然后将其作为参数传递给startMeetingWithParams()。这将以用户作为参与者开始会议(即使在参数“ userId”中设置了会议的host_id时),并且会显示默认的等候室屏幕,等待主持人开始会议,而预计将开始会议。会议作为主持人。请对此提供您的推断,并让我知道需要采取什么措施来解决此问题。使用StartMeetingOptions是否需要做些什么?另外,这里的userType参数是什么?对于专业用户而言,它被称为“整数:2”。但是,我不确定我是哪种类型的缩放用户。请让我知道如何知道userType。
@ReactMethod
public void startMeeting(
final String displayName,
final String meetingNo,
final String userId,
final int userType,
final String zoomAccessToken,
final String zoomToken,
Promise promise
) {
try {
meetingPromise = promise;
ZoomSDK zoomSDK = ZoomSDK.getInstance();
if(!zoomSDK.isInitialized()) {
promise.reject("ERR_ZOOM_START", "ZoomSDK has not been initialized successfully");
return;
}
final MeetingService meetingService = zoomSDK.getMeetingService();
if(meetingService.getMeetingStatus() != MeetingStatus.MEETING_STATUS_IDLE) {
long lMeetingNo = 0;
try {
lMeetingNo = Long.parseLong(meetingNo);
} catch (NumberFormatException e) {
promise.reject("ERR_ZOOM_START", "Invalid meeting number: " + meetingNo);
return;
}
if(meetingService.getCurrentRtcMeetingNumber() == lMeetingNo) {
meetingService.returnToMeeting(reactContext.getCurrentActivity());
promise.resolve("Already joined zoom meeting");
return;
}
}
StartMeetingOptions opts = new StartMeetingOptions();
StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
params.displayName = displayName;
params.meetingNo = meetingNo;
params.userId = userId;
params.userType = userType;
params.zoomAccessToken = zoomAccessToken;
// params.zoomToken = zoomToken;
int startMeetingResult = meetingService.startMeetingWithParams(reactContext.getCurrentActivity(), params, opts);
Log.i(TAG, "startMeeting, startMeetingResult=" + startMeetingResult);
if (startMeetingResult != MeetingError.MEETING_ERROR_SUCCESS) {
promise.reject("ERR_ZOOM_START", "startMeeting, errorCode=" + startMeetingResult);
}
} catch (Exception ex) {
promise.reject("ERR_UNEXPECTED_EXCEPTION", ex);
}
}
答案 0 :(得分:0)
要使用api,您需要将订阅升级为付费用户。要检查您是否可以主持40分钟以上的会议。
答案 1 :(得分:0)
根据此处的 ZOOM Android SDK 参考https://marketplace.zoom.us/docs/sdk/sdk-reference/android-reference:
查看 SDK 源代码后,这些是 userTypes 的值:
int USER_TYPE_API_USER = 0;
int USER_TYPE_ZOOM = 1;
int USER_TYPE_FACEBOOK = 2;
int USER_TYPE_GOOGLE_OAUTH = 3;
int USER_TYPE_SSO = 4;
int USER_TYPE_UNKNOWN = -1;
如您所见,它引用了用户登录的方式。 我决定使用 USER_TYPE_API_USER,因为我需要下载 Zoom 访问令牌(通过使用 Zoom API)。
我还在此处创建了关于将 Zoom SDK 集成到 React Native 的教程: https://stefanmajiros.medium.com/how-to-integrate-zoom-sdk-into-react-native-47492d4e46a6