Black screen after join the meeting

Dear Carson,

Please find the log in the below link:

log

  1. The user can join the meeting successfully as i mentioned before, just the screen is black. It seems the audio is ok but video is fail.

  2. Coding:

MyActivity.java:
public class MyActivity extends Activity implements InitAuthSDKCallback,
MeetingServiceListener, UserLoginCallback.ZoomDemoAuthenticationListener {

private final static String TAG = "ZoomSDKExample";

private View layoutJoin;
private View mProgressPanel;
private ZoomSDK mZoomSDK;

private String meeting_id = "";
private String meeting_pw = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Bundle extras = getIntent().getExtras();

    meeting_id = meeting_id;
    meeting_pw = meeting_pw;

    mZoomSDK = ZoomSDK.getInstance();
    if (mZoomSDK.isLoggedIn()) {
        finish();
        return;
    }

    setContentView(R.layout.init_auth_sdk);

    mProgressPanel = (View) findViewById(R.id.progressPanel);

    layoutJoin = findViewById(R.id.layout_join);
    mProgressPanel.setVisibility(View.VISIBLE);

    JSONObject jObj = new JSONObject();
    try {
        jObj.put("jwtToken","JWTTOKEN");
    } catch (JSONException e) {
        e.printStackTrace();
    }

    InitAuthSDKHelper.getInstance().initSDK(this, this, jObj);

    if (mZoomSDK.isInitialized()) {
        layoutJoin.setVisibility(View.INVISIBLE);
        ZoomSDK.getInstance().getMeetingService().addListener(this);
        ZoomSDK.getInstance().getMeetingSettingsHelper().enable720p(true);

        onClickJoin();
    } else {
        layoutJoin.setVisibility(View.GONE);
    }
}

@Override
public void onZoomSDKInitializeResult(int errorCode, int internalErrorCode) {
    Log.i(TAG, "onZoomSDKInitializeResult, errorCode=" + errorCode + ", internalErrorCode=" + internalErrorCode);

    if (errorCode != ZoomError.ZOOM_ERROR_SUCCESS) {
        Toast.makeText(this, R.string.fail_init_zoom, Toast.LENGTH_LONG).show();
        finish();
    } else {
        ZoomSDK.getInstance().getMeetingSettingsHelper().enable720p(true);
        ZoomSDK.getInstance().getMeetingSettingsHelper().enableShowMyMeetingElapseTime(true);
        ZoomSDK.getInstance().getMeetingSettingsHelper().setVideoOnWhenMyShare(true);
        ZoomSDK.getInstance().getMeetingService().addListener(this);

        onClickJoin();
    }
}

@Override
public void onZoomSDKLoginResult(long result) {
    if ((int) result == ZoomAuthenticationError.ZOOM_AUTH_ERROR_SUCCESS) {
        finish();
    } else {
        showProgressPanel(false);
    }
}

@Override
public void onZoomSDKLogoutResult(long result) {

}

@Override
public void onZoomIdentityExpired() {
    if (mZoomSDK.isLoggedIn()) {
        mZoomSDK.logoutZoom();
    }
}

@Override
public void onZoomAuthIdentityExpired() {
    Log.e(TAG,"onZoomAuthIdentityExpired");
}

public void onClickJoin() {

    Context context = getApplicationContext();

    Intent intent = new Intent(context, MyMeetingActivity.class);
    Bundle bundle = new Bundle();
    bundle.putString("meeting_id",meeting_id);
    bundle.putString("meeting_pw",meeting_pw);
    intent.putExtras(bundle);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);
}

private void showProgressPanel(boolean show) {
    if (show) {
        mProgressPanel.setVisibility(View.VISIBLE);
        layoutJoin.setVisibility(View.GONE);
    } else {
        mProgressPanel.setVisibility(View.GONE);
        layoutJoin.setVisibility(View.VISIBLE);
    }
}

@Override
public void onMeetingStatusChanged(MeetingStatus meetingStatus, int errorCode, int internalErrorCode) {
    Log.d(TAG,"onMeetingStatusChanged "+meetingStatus);
    if(!ZoomSDK.getInstance().isInitialized()){
        showProgressPanel(false);
        return;
    }

    if (meetingStatus == MeetingStatus.MEETING_STATUS_DISCONNECTING){
        finish();
    }
}

@Override
public void onDestroy() {
    super.onDestroy();
    UserLoginCallback.getInstance().removeListener(this);

    if(null!= ZoomSDK.getInstance().getMeetingService()){
        ZoomSDK.getInstance().getMeetingService().removeListener(this);
    }
    InitAuthSDKHelper.getInstance().reset();
}

}

MyMeetingActivity:
public class MyMeetingActivity extends MeetingActivity {
private ZoomSDK mZoomSDK;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Bundle extras = getIntent().getExtras();

    String meeting_id = extras.getString("meeting_id","");
    String meeting_pw = extras.getString("meeting_pw","");

    mZoomSDK = ZoomSDK.getInstance();

    if (mZoomSDK.isLoggedIn()) {
        finish();
        return;
    }

    if (mZoomSDK.isInitialized()) {
        JoinMeetingParams params = new JoinMeetingParams();

        params.meetingNo = meeting_id;
        params.password = meeting_pw;

        JoinMeetingOptions opts = new JoinMeetingOptions();
        opts.no_invite = true;

        ZoomSDK.getInstance().getMeetingService().joinMeetingWithParams(this, params,opts);

        ZoomSDK.getInstance().getMeetingSettingsHelper().enable720p(true);
    } else {
        Toast.makeText(this,"SDK is not ready",Toast.LENGTH_LONG);
    }
}

@Override
public void onBackPressed() {
    onClickLeave();
}

}

Thanks.