如何在 Android 中的 SurfaceViewRenderer 上渲染 WebRTC VideoTrack?

Ale*_*xTa 1 android kotlin webrtc

更新之前WebRTC的依赖,我能够呈现WebRTC VideoTracksSurfaceViewRenderer,像这样:

val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addRenderer(VideoRenderer(videoView))
Run Code Online (Sandbox Code Playgroud)

由于SurfaceViewRenderer不再实现VideoRenderer.Callbacks接口,如何使用更新的 WebRTC 版本实现上述相同的行为?

Ale*_*xTa 6

现在SurfaceViewRenderer实现了VideoSink接口,现在我们可以将VideoSink接口添加到我们的VideoTracks,因此,只需将您当前的实现替换为以下内容即可:

val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addSink(videoView)
Run Code Online (Sandbox Code Playgroud)