你问的问题和gl好像没有什么关系,视频中取得一张纸位图,是编码解码的问题,android默认有编码解码器,但并不是所有格式都可以,

解决方案 »

  1.   

    你想播放什么格式的视频,android不支持的话,用第三方解码器ffmpeg,x264等等,取得解码后的位图
      

  2.   


    恩,android对于解码,只提供了MediaPlayer这个类,感觉这个类开放的接口较少,但从这个类里不能得到位图以及每张位图的时间。看来只能自己写一个解码器了。。
      

  3.   


    写解码器。。太复杂了。
    请看http://www.cnblogs.com/mcodec/archive/2011/05/11/1780598.html。移植过去吧
      

  4.   

    移植ffmpeg是个好办法 不过也有些问题的 用它的解码器是好办法 
      

  5.   


    多谢了! 我搞了一天,有点郁闷,底层不行呀。还不知道opengl播放视频,会不会纹理太频繁而崩溃呢,或者丢帧。
      

  6.   

    解码成YUV数据,ANDROID2.3 GLESL可以直接RenderYUV420的
      

  7.   

    ANDROID2.3 GLESL可以直接RenderYUV420的 ??
    我没看到支持的地方
      

  8.   


    应用需要在2.2上运行, 定制的系统。
    解码成图,再纹理上去,应该是可行的。
    在一些英文论坛,很多人都提过这样的问题,以及别人发表了在实现过程中碰到的问题以及实现过程。
    不过没有源代码,别人的解码以及实现,都是通过C来实现的,这一块我不是很懂。
    相比之下,在国内论坛上,opengl深点得资料,好难找。   
      

  9.   

    额,请问一下如何将一张张位图送到OpenGL中渲染呢?
      

  10.   

    可以直接RENDERYV12.交流Q:1049568282
      

  11.   


    这个是2年前弄的,当时做完那个项目就没再接触过opengl了。  当时做的是: 把图片从外面抽出来(因为视频很小),再纹理到屏幕上,控制下下一次的纹理时间,就变成了播放视频了。