【发布时间】:2018-06-09 00:59:43
【问题描述】:
我正在开发一个 Android 视频-音频通话应用程序,到目前为止,我已经完成了主要功能,它运行良好,我可以制作:语音通话、视频通话。我的问题是当我按下主页按钮时(视频因任何原因被中断)我无法再次恢复, 奇怪的是,我可以用声音做任何我需要的事情;在应用程序处于后台并停止语音时继续,但不幸的是我根本无法控制视频。我认为在创建与视频相关的 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;
我会在需要时更新问题(即需要一些其他代码 sn-p)。 请帮忙,我已经尝试解决这个问题大约一个星期了,我取得的唯一进展是学习如何控制声音:) 提前谢谢你
【问题讨论】: