千家信息网

如何实现glsurfaceview播放视频代码

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关如何实现glsurfaceview播放视频代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。整个流程就是,创建一个GLSurfaceVi
千家信息网最后更新 2026年11月04日如何实现glsurfaceview播放视频代码

这篇文章将为大家详细讲解有关如何实现glsurfaceview播放视频代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  整个流程就是,创建一个GLSurfaceView用来装载视频,GLSurfaceView中设置renderer,自己自定义renderer,主要绘制流程都在这个,里面,主要有三个方法onSurfaceCreated(),onSurfaceChanged(),onDrawFrame()。

  glsurfaceview播放视频代码

  下面一段代码是初始化着色器代码,至于着色器里面的代码需要了解着色器语言

  StringvertexShader=ShaderUtils.readRawTextFile(context,R.raw.vetext_sharder);

  StringfragmentShader=ShaderUtils.readRawTextFile(context,R.raw.fragment_sharder);

  programId=ShaderUtils.createProgram(vertexShader,fragmentShader);

  aPositionLocation=GLES20.glGetAttribLocation(programId,"aPosition");

  uMatrixLocation=GLES20.glGetUniformLocation(programId,"uMatrix");

  uSTMMatrixHandle=GLES20.glGetUniformLocation(programId,"uSTMatrix");

  uTextureSamplerLocation=GLES20.glGetUniformLocation(programId,"sTexture");

  aTextureCoordLocation=GLES20.glGetAttribLocation(programId,"aTexCoord");

  这一串代码是绑定纹理,设置mediaplayer每一帧作为纹理关联起来

  glsurfaceview播放视频格式

  textureId=textures[0];

  GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES,textureId);

  ShaderUtils.checkGlError("glBindTexturemTextureID");

  /*GLES11Ext.GL_TEXTURE_EXTERNAL_OES的用处?

  之前提到视频解码的输出格式是YUV的(YUV420p,应该是),那么这个扩展纹理的作用就是实现YUV格式到RGB的自动转化,

关于"如何实现glsurfaceview播放视频代码"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

代码 视频 格式 篇文章 纹理 就是 更多 流程 不错 实用 三个 作用 内容 文章 方法 用处 知识 语言 中设 关联 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 互联网金融监管科技数据 互联网科技资迅 互联网科技小贷 互联网金融科技创新 深圳齐家互联网科技 猫创互联网科技 成都仁贤领冠互联网科技有限公司 华中科技有哪些互联网大佬 科技赋能互联网健康 现代互联网科技股 受益于互联网科技的高速发展 青岛科技大学互联网大赛研究生 开一家科技互联网公司需要多少钱 互联网科技的全部知识 华中科技大学互联网的牛人 无锡工业互联网科技有限公司 扫呗互联网科技有限公司 全球科技与互联网公司市值变化 数字科技和互联网金融哪个好 互联网与科技金融数据 成都仁贤领冠互联网科技有限公司 南山科技园互联网公司有哪些 栖莱科技互联网股份有限公司 佛山市翊博互联网络科技有限公司 深圳艾果互联网通讯科技 工业互联网等科技实现智能化赋能 群盈汇互联网科技有限公司 卡尔迅互联网科技有限公司 上海乐五互联网科技有限公司
0