shu*_*rok 4 android video-streaming webrtc
我正在使用此库:https://bintray.com/google/webrtc/google-webrtc
我想要实现的目标(至少在我的项目开始时)是本地渲染视频.我正在使用本教程(这是互联网上唯一的一个)https://vivekc.xyz/getting-started-with-webrtc-for-android-daab1e268ff4.不幸的是,最后一行代码不再是最新的.构造函数需要一个回调,我不知道如何实现:
localVideoTrack.addRenderer(new VideoRenderer(i420Frame -> {
// no idea what to put here
}));
我的代码与发布的教程完全相同.这是熟悉Android中的WebRTC技术的第一步,这是我无法弄清楚的.我的相机正在捕捉视频,因为我可以在我的日志中看到它:
I/org.webrtc.Logging: CameraStatistics: Camera fps: 28.
主要问题是我不知道如何SurfaceViewRenderer通过回调将其传递给我.有没有人遇到这个问题?我真的很感激任何帮助或建议.
这是官方示例应用程序,它是唯一的来源,但它与教程中的不同,它更复杂:https: //webrtc.googlesource.com/src/+/master/examples/androidapp/src/org/Appspot上/ apprtc
小智 12
你是对的,API不再与教程中的API相匹配,但它很接近.
VideoTrack有一个addRenderer(VideoRenderer renderer)方法,它要求您创建一个VideoRenderer,并将SurfaceViewRenderer作为参数.但这是不可能的,所以你应该使用addSink(VideoSink sink)VideoTrack 的方法.SurfaceViewRenderer对象实现VideoSink onFrame(VideoFrame frame)方法以使其工作.
VideoTrack videoTrack = utility.createVideoTrack();
videoTrack.addSink(this.localSurfaceViewRenderer);
Run Code Online (Sandbox Code Playgroud)
我使用相同的官方示例应用程序作为参考来得出这个结论,它对我来说很好.
| 归档时间: |
|
| 查看次数: |
3257 次 |
| 最近记录: |