Android开发
YellowJacketHjj
Android开发程序员,喜欢专研,分享Android开发技术
展开
-
Android自定义View实现水波纹效果
本篇博文介绍一个Android自定义View的案例,后续博文会接下自定义View的相关流程和绘制原理。通过自定义控件实现。触摸屏幕实现水波纹效果。实现步骤第1步.自定义MyWave继承Viewpublic class MyWave extends View {}第2步.重写带两个参数的构造方法public MyWave(Context context, AttributeSet attrs) {s...原创 2018-03-09 23:16:06 · 1566 阅读 · 0 评论 -
Android JNI实现Java与C/C++互相调用,以及so库的生成和调用(JNI方式调用美图秀秀so)
前言 关于Android Studio如何继承JNI开发环境,请阅读上一篇博文 Android CMake集成JNI开发环境本篇博文将结合实例分别讲解Android中Java如何调用C/C++的方法,C/C++如何回调Java方法以及如何将本地native库打包成so文件作为库使用。项目代码Github地址 喜欢的给个star,谢谢Java调用C/C++代码的步骤流程如下:...原创 2018-04-07 20:15:53 · 7887 阅读 · 8 评论 -
Android GLSurfaceView用法解析
OpenGL和OpenGLES简介 这里先简单介绍下OpenGL和OpenGLES。OpenGL(Open Graphics Library)意为开放图形库,是一个跨平台的图形API,用于指定3D图形处理硬件中的软硬件编程接口。OpenGL一般用于图形工作站,PC端使用。由于性能和可移植性等各方面原因,在移动端使用起来相对比...原创 2018-03-26 17:23:40 · 21456 阅读 · 1 评论 -
Android CMake集成JNI开发环境
什么是JNIJNI是Java Native Interface(Java 原生接口)的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。JNI支持一个“调用接口”(invocation interface),它允许你把一个JVM嵌入到本地程序中。本地程序可以链接一个实现了JVM的本地库,然后使用“调用接口”执行JAVA语言编写的软件模块。例如,一个用C语言写...原创 2018-04-03 10:11:34 · 1649 阅读 · 0 评论 -
Android Studio通过JNI(CMake方式)集成FFMpeg音视频处理框架
前言 本FFMpeg的源码多采用C/C++代码编写的,想要使用FFmpeg提供的库函数,需要将其打包成动态链接库文件。如Linux的so库文件,windows上的dll库文件,Android系统的底层是基于Linux系统内核的,因此要在Android平台上使用FFmpeg框架提供的库函数,需要将其打包成so库文件。而在Linux系统编译打包,需要在FFmpeg框架源码的目录下建立Linux...原创 2018-04-22 22:08:06 · 2941 阅读 · 0 评论 -
Android FFMpeg应用实例(一):利用CMake方式实现视频解码MP4转YUV(附Demo源码)
本篇博文将给大家介绍一个FFMpeg在Android平台上的一个应用实例,实现视频转码格式转换。如果你还没了解如何通过CMake集成JNI开发环境和在Android Studio中集成FFMpeg,请阅读….和….。本人博客会长期更新Android FFmpeg,OpenGL和OpenCV,如果您感兴趣的话,可以关注我CSDN哦。下面我们开始实现视频转码功能项目结构如下 其中...原创 2018-05-20 16:47:14 · 1110 阅读 · 1 评论 -
Android FFMpeg应用实例(二):CMake实现视频avi转码后在SurfaceView预览显示
前面已经给介绍过Android Studio集成FFMpeg音视频处理框架并利用FFmpeg完成一个应用实例利用CMake方式实现视频解码MP4转YUV。本篇博文我们来实现下在Android平台解码avi并用SurfaceView播放。本人博客会长期更新Android FFmpeg,OpenGL,自定义相机和OpenCV如果您感兴趣的话,可以关注我CSDN哦。写博客的目的是对自己所学知识的总...原创 2018-06-11 10:03:08 · 867 阅读 · 0 评论 -
Android FFMpeg应用实例(三):利用AVfilter实现视频添加水印,滤镜等特效功能(附Demo)
最近因为工作忙,和世界杯期间对球赛比较痴迷,一个多月没写博客了。法国队赢得世界冠军,克罗地亚赢得世人的尊敬。个人奖项方面,皇马中场莫德里奇获得金球奖,实至名归。以前不懂球,只知道前锋有多牛逼,能进球。殊不知要打赢一场球需要后卫的防守和中场的策划进攻,就好比如我们做项目一样,能搭建一个可拓展性强,代码冗余度低的框架是多么重要,有利于项目的后期维护和扩展。扯远了,哈哈。回归今天的主题,本篇博文将...原创 2018-08-07 11:54:46 · 3302 阅读 · 3 评论