Android视频播放学习笔记

来源:互联网 发布:甘肃干部网络考试答案 编辑:程序博客网 时间:2024/05/16 17:03

MediaCodec.configure(MediaFormat format,Surface surface, MediaCrypto, crypto, int flags)
方法需要传一个surface参数。

  • 如果不是输出视频流,或者将输出是ByteBuffer,就传null
  • 如果你不对视频帧任何编辑,可以直接传
    SurfaceView.getHolder().getSurface()获得的surface。这时候用SurfaceView即可,不需要用GLSurfaceView
  • 如果你想要编辑视频帧,就需要获取和编辑纹理SurfaceTexture。这时候传入的surface就是通过Surface(SurfaceTexture surfaceTexture)函数构造的。获取SurfaceTexture的方法如下:

(1)在使用TextureView的情况下,可以通过TextureView.getSurfaceTexture() 方法获得SurfaceTexture 代码示例

(2)在使用GLSurfaceView的情况下,可以通过GLES20.glGenTextures()获得texture,然后构造一个SurfaceTexture(传入 int texId) 代码示例

原创粉丝点击