当前位置: 首页 > article >正文

FFmpeg(12)-使用NDK通过GLSurfaceView完成视频的播放

一.包含头文件和库文件

这里采用的是NDK中的ANativeWindow来完成视频的播放,因为需要添加相关的库和头文件。

CMakeLists

target_link_libraries( # Specifies the target library.native-libavcodecavformatavutilswscaleswresampleandroid# Links the target library to the log library# included in the NDK.${log-lib} )

添加头文件 

#include <android/native_window.h>
#include <android/native_window_jni.h>

二.示例代码

// 显示窗口初始化ANativeWindow *window = ANativeWindow_fromSurface(env, surface);if (!window) {LOGE("ANativeWindow_fromSurface create failed");return;}ANativeWindow_setBuffersGeometry(window, outWidth, outHeight, WINDOW_FORMAT_RGBA_8888);ANativeWindow_Buffer wbuf;
if (h > 0) {ANativeWindow_lock(window, &wbuf, 0);uint8_t *dst = (uint8_t *)wbuf.bits; // 这个dst是用来交换的内存memcpy(dst, rgb, outWidth*outHeight*4);ANativeWindow_unlockAndPost(window);}

 

转载于:https://www.cnblogs.com/yongdaimi/p/9834843.html

http://www.lryc.cn/news/2418239.html

相关文章:

  • 会声会影X5
  • 2022年氧化工艺复审考试及氧化工艺模拟试题
  • PHP工程师简要指南:如何使用settimestamp函数
  • 电感基础知识
  • 存储服务器 自建,搭建及了解存储服务器
  • 并发测试工具
  • lamp配置
  • 第二课 matlab 系统环境
  • PostScript 程序初探
  • 各种资源网站
  • 【网络信息搜集】03 网络扫描技术
  • 微信小程序开发五大技术框架
  • PHP语言基础知识
  • java数独游戏破解工具源代码
  • Python入门难吗?零基础可以自学吗?
  • 001 谷歌账号注册方法
  • 网络设备安全配置
  • ios 开发者帐号申请详细步骤
  • php不支持curl,解决php-curl不支持https问题
  • DDOS攻击(流量攻击)防御步骤
  • SVN chechout failed: xxx is not valid as filename in directory svn检出错误
  • 覆盖10大医疗应用场景!国产AI大模型应用典型案例盘点
  • 搜索引擎网站登录入口|免费登录|百度登录|谷歌登录|网站收录入口
  • 男士西装搭配
  • 全网最全python教程,从零到精通(学python有它就够必收藏)_python学习相关博客(1)
  • mrp下载基地
  • 如何快速开始微信小程序开发?
  • 淘身边VS淘宝跳蚤街: 官方和第三方的基情之战
  • 计算机图形学(四)几何变换_4_二维复合变换_2_矩阵合并特性
  • 原生微信小程序校园活动报名管理系统+后台管理系统