Textureview获取Surface

时间:2015-06-22 02:55:05

标签: android exoplayer

我正在使用ExoPlayer库,它需要一个Surface,但我无法找到任何方法,它会检索Textureview的底层Surface。任何想法?

Surfaceview有一个方法:

surfaceView.getHolder().getSurface()

或者TextureView中没有表面?

2 个答案:

答案 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”方法。