android - 如何跟踪 WebRTC 远程 VideoStream 的分辨率/纵横比?
问题描述
我开发了一个 android 应用程序,它实现了用于视频聊天的本机 WebRTC,我想展示远程视频分辨率和其他视频信息,但我找不到提供此信息的 android 的 WebRTC API。
我知道在 javascript 中有MediaStreamTrack.getSettings() API。问题是,如何在Android、JAVA中获得与 MediaStreamTrack.getSettings() 相同的信息?
解决方案
2 年后我又回到了我的老问题,现在我能够获得实际的远程视频分辨率。
以下是其他人需要的详细信息:
private EglBase rootEglBase = EglBase.create();
private EglBase.Context eglBaseContext = rootEglBase.getEglBaseContext();
private SurfaceViewRenderer fullScreenView = findViewById(R.id.mainView);
fullScreenView.init(eglBaseContext, new RendererCommon.RendererEvents() {
@Override
public void onFirstFrameRendered() {
}
@Override
public void onFrameResolutionChanged(int videoWidth, int videoHeight, int rotation) {
Log.i("ZCF", "onFrameResolutionChanged: W=" + videoWidth + "H=" + videoHeight + " rotation:" + rotation);
}
});
;
推荐阅读
- android - Flutter 问题:在 /path/to/android/studio 中找不到 Android Studio
- c++ - 一劳永逸的 std::thread 对象清理自己
- android - 在 Android 中使用 MVVM 模式时,我必须使用数据绑定吗?
- javascript - 为什么 getDerivedStateFromProps 是静态方法?
- reactjs - 模拟 URLSeachParams
- python - Python3使用restype定义kernel32.GetModuleHandleA的返回值,但是python输出的值很大
- jenkins - 通过 Artifactory 更新 Jenkins 插件
- python - 循环通过 2d 列表 python 不会正确更改值
- oracle-apex - 在 Oracle APEX 5.1.4 中显示大型 CLOBS
- android - 使用部署和上传证书签署颤振 apk