使用OpenGLES在Android上播放视频

3
如何在Android中使用OpenGL ES播放视频?
2个回答

6
你的问题有点模糊。如果你只想在GL surface中播放视频,那是可行的。可以参考Dave在他的示例中提到的Media Player示例代码。你需要在MediaPlayerDemo_Video.java文件以及相应的布局文件(mediaplayer_2.xml)中,将SurfaceView替换为GLSurfaceView。
同时,你需要创建一个自定义的Renderer类(实现GLSurfaceView.Renderer接口),并将其设置到GLSurfaceView上。
完成这些步骤后,你就可以在GL surface上播放视频了,但仅限于此。
另一方面,如果你想操作视频,例如将视频帧绘制在GL纹理上并添加效果或对其进行变换(例如缩放、旋转等),那么恐怕无法实现。原因是你无法在应用程序中访问原始视频帧。

这个问题在1月5日已经回答过了。现在“访问原始视频帧”的情况有变化吗?你能具体说明哪一行代码阻止了这个操作吗? - hunterp
嗨,Stelian。使用GLSurfaceView和OpenGLES2.0代码可以对视频帧进行缩放和旋转。请查看此链接:https://github.com/satish13131/Android_Programs/tree/master/graphics/opengl/video/surfaceview。您可以在mvp矩阵上应用缩放和旋转操作,并在视频上实现所需的结果。 - Satish

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接