Android WebRTC可以继续语音通话,但无法继续视频通话

Android WebRTC可以继续语音通话,但无法继续视频通话,android,webrtc,Android,Webrtc,我正在开发一个Android视频音频通话应用程序,到目前为止,我已经完成了主要功能,它运行良好,我可以进行任何问题:语音通话、视频通话。我的问题是,当我按home(主页)按钮时,视频因任何原因被中断,我无法再次恢复, 奇怪的是,我可以用声音做任何我需要的事情;在应用程序处于后台时继续并停止语音,但不幸的是,我根本无法控制视频。我认为在创建与视频相关的webRTC内容时存在一个问题,因此以下代码对此负责: PeerConnectionFactory.initialize(PeerConnectio

我正在开发一个Android视频音频通话应用程序,到目前为止,我已经完成了主要功能,它运行良好,我可以进行任何问题:语音通话、视频通话。我的问题是,当我按home(主页)按钮时,视频因任何原因被中断,我无法再次恢复, 奇怪的是,我可以用声音做任何我需要的事情;在应用程序处于后台时继续并停止语音,但不幸的是,我根本无法控制视频。我认为在创建与视频相关的webRTC内容时存在一个问题,因此以下代码对此负责:

PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions
            .builder(this)
            .setEnableVideoHwAcceleration(true)
            .createInitializationOptions());


    PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();

    DefaultVideoEncoderFactory defaultVideoEncoderFactory = new DefaultVideoEncoderFactory(rootEglBase.getEglBaseContext(),  true,  true);
    DefaultVideoDecoderFactory defaultVideoDecoderFactory = new DefaultVideoDecoderFactory(rootEglBase.getEglBaseContext());

    peerConnectionFactory = new PeerConnectionFactory(options, defaultVideoEncoderFactory,defaultVideoDecoderFactory);

    videoCapturerAndroid = createCameraCapturer(new Camera1Enumerator(false));

    audioConstraints = new MediaConstraints();
    videoConstraints = new MediaConstraints();

    //Create a VideoSource instance
    videoSource = peerConnectionFactory.createVideoSource(videoCapturerAndroid);
    localVideoTrack = peerConnectionFactory.createVideoTrack("100", videoSource);

    //create an AudioSource instance
    audioSource = peerConnectionFactory.createAudioSource(audioConstraints);
    localAudioTrack = peerConnectionFactory.createAudioTrack("101", audioSource);

    videoCapturerAndroid.startCapture(1024, 720, 30);

    localVideoView.setVisibility(View.VISIBLE);
    //create a videoRenderer based on SurfaceViewRenderer instance
    localRenderer = new VideoRenderer(localVideoView);

    localVideoTrack.addRenderer(localRenderer);

    gotUserMedia = true;
我会在需要的时候更新这个问题。还需要一些其他的代码片段。
请帮忙,我已经试着解决这个问题大约一周了,我取得的唯一进步就是学习如何控制声音:提前谢谢你,我花了更多的时间试着去做,终于成功了,下面是我所做的:

在我打开应用程序后,我试图检查onResume中的流是否为空 同样,从睡眠状态来看,表示单击了home按钮,但它不是空的。之后,我决定看看如果我在onResume中再次显示流会发生什么,但我需要在显示流之前检查它是否为null,因为在我第一次打开应用程序时它将为null。这就是我再次重复使用视频流所要做的,实际上这让我可以前后翻转摄像机,因为在那之前我不能这么做