我正在使用 ExoPlayer 库,它需要一个 Surface,但是我找不到任何方法来检索 Textureview 的底层 Surface。有任何想法吗?
Surfaceview 有一个方法:
surfaceView.getHolder().getSurface()
还是TextureView中没有表面?
第一步是使用getSurfaceTexture()成员函数从TextureView获取 SurfaceTexture。
SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
然后从构造函数Surface(SurfaceTexture surfaceTexture)创建 Surface 对象,该构造函数将接受来自 TextureView 对象的 SurfaceTexture。
Surface surface = new Surface(surfaceTexture);
有关更多信息,请查看此问题报告。它确认通过以我描述的方式构造 Surface 对象,可以使用带有 ExoPlayer 的 TextureView 中的 Surface。
您现在还可以在新版本中将“AnalyticsListener”添加到“SimpleExoPlayer”实例,并实现将表面作为其参数之一的“onRenderedFirstFrame”方法。