我正在使用ExoPlayer库,它需要一个Surface,但我无法找到任何方法,它会检索Textureview的底层Surface。任何想法?
Surfaceview有一个方法:
surfaceView.getHolder().getSurface()
或者TextureView中没有表面?
答案 0 :(得分:11)
第一步是使用TextureView成员函数从getSurfaceTexture()获取SurfaceTexture。
SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
然后从构造函数Surface(SurfaceTexture surfaceTexture)创建Surface对象,该对象将接受TextureView对象中的SurfaceTexture。
Surface surface = new Surface(surfaceTexture);
有关详细信息,请查看this issue report。它确认通过以我描述的方式构造Surface对象,可以使用带有ExoPlayer的TextureView中的Surface。
答案 1 :(得分:0)
您现在还可以在新版本中向“ SimpleExoPlayer”实例添加“ AnalyticsListener”,并实现将表面作为其参数之一的“ onRenderedFirstFrame”方法。