问题描述: 在Android中使用WebRTC进行远程流显示时,无法在SurfaceView上显示视频,并且获取到的帧数为0。
解决方法: 以下是一个可能的解决方案,假设你已经设置好了WebRTC的PeerConnection和VideoTrack。
SurfaceViewRenderer surfaceViewRenderer = findViewById(R.id.surface_view_renderer);
surfaceViewRenderer.init(rootEglBase.getEglBaseContext(), null);
surfaceViewRenderer.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT);
surfaceViewRenderer.setMirror(true);
VideoRenderer videoRenderer = new VideoRenderer(surfaceViewRenderer);
remoteVideoTrack.addSink(videoRenderer);
PeerConnectionFactory.initialize(
PeerConnectionFactory.InitializationOptions.builder(context)
.setEnableInternalTracer(true)
.setFieldTrials("WebRTC-H264HighProfile/Enabled/")
.setEnableCamera2(true)
.createInitializationOptions());
这些步骤应该能够解决Android中WebRTC远程流在SurfaceView上不显示的问题。请确保你已经正确配置了WebRTC的PeerConnection和VideoTrack,并且手机上的权限已经正确设置。