RCRTCCameraOutputStream.setVideoConfig 空指针异常导致崩溃

一、报错日志:

02-14 17:13:00.003 E/AndroidRuntime( 5592): FATAL EXCEPTION: main

02-14 17:13:00.003 E/AndroidRuntime( 5592): Process: com.lr.lrhyddoctor, PID: 5592

02-14 17:13:00.003 E/AndroidRuntime( 5592): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lr.lrhyddoctor/io.rong.callkit.meeting.MeetingActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void cn.rongcloud.rtc.api.stream.RCRTCCameraOutputStream.setVideoConfig(cn.rongcloud.rtc.api.stream.RCRTCVideoStreamConfig)' on a null object reference

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3521)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3693)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2135)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.os.Handler.dispatchMessage(Handler.java:106)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.os.Looper.loop(Looper.java:236)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.ActivityThread.main(ActivityThread.java:8059)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at java.lang.reflect.Method.invoke(Native Method)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

02-14 17:13:00.003 E/AndroidRuntime( 5592): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void cn.rongcloud.rtc.api.stream.RCRTCCameraOutputStream.setVideoConfig(cn.rongcloud.rtc.api.stream.RCRTCVideoStreamConfig)' on a null object reference

02-14 17:13:00.003 E/AndroidRuntime( 5592): at io.rong.callkit.meeting.MeetingPresenter.config(MeetingPresenter.java:233)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at io.rong.callkit.meeting.MeetingActivity.onCreate(MeetingActivity.java:71)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.Activity.performCreate(Activity.java:8159)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.Activity.performCreate(Activity.java:8131)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)

02-14 17:13:00.003 E/AndroidRuntime( 5592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3494)

二、报错代码段:

RCRTCEngine.getInstance().getDefaultVideoStream().setVideoConfig(videoConfigBuilder.build());

三、排查思路:

  1. 检查在 Application 中初始化融云 SDK 了么?
RongIM.init(this, APP_KEY, false);

RongIMClient.init(this, APP_KEY, false);
  1. 连接融云 Server 是否成功?即 IM 连接操作:RongIMClient.connect 。

注:config、joinRoom 等后续操作需要在 SDK 初始化、获取 token、连接融云(RongIMClient.connect)成功之后进行。

  1. RCRTCEngine 是否初始化?示例代码如下
RCRTCConfig.Builder configBuilder = RCRTCConfig.Builder.create();
RCRTCEngine.getInstance().init(context, configBuilder.build());
  1. 音视频服务是否开启?(该空指针报错一般不是这个原因,但是也可排查一下)

可参考知识库:https://support.rongcloud.cn/ks/MTE5OQ==