1.首先我们需要一个已经编译好的libffmpeg.so文件.(怎么编译是个大坑,可以参考windows环境下编译android中使用的FFmpeg,也可以用网上下载的现成的,本文相关的github项目里也有.),当然也要下载好ffmpeg的源码,一会要用到. 2.打开你的Android工程,在 src/main/ 目录下新建 jni 目录.并将libffmpeg.so文件丢进去. 3.创建FFmpegKit.java.写入如下代码 package codepig.ffmpegcldemo; i…
方案选择 Android中集成ffmpeg的codec功能无非两种方式: JNI直接调用,主要用于App开发(无权限修改系统底层),如EXOPlayer,JPlayer等. 集成ffmpeg到OMX,即封装ffmpeg为OMX的plugin,然后实现component接口. 考虑到性能问题,我选取的方案二即集成ffmpeg到OMX.首先第一个问题就是ffmpeg的编译.也有两种方式: 集成ffmpeg源码到整个Android系统工程,独立写bp或mk进行编译.(由于ffmpeg配置复杂,参考网上…
本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下,是Android提供的一个3*3 矩阵工具类: 它本身不能对图像或View进行变换,但它可与其他API结合来控制图形.View的变换,如Canvas.Matrix提供了一些方法来控制图片变换: setTrans…
最近经常有朋友反馈说我的安卓项目中,在一些类中会出现Created by panchengjia on 2016/12/30的字样,是如何自动实现的(默认一般为Administrator),如下图: 实现上图这种效果,仅仅修改控制面板中的用户账户名是没有用的. 下面我简单介绍下windows环境下的实现方式: (1)进入本地组策略编辑器 可以通过快捷键windows键+R打开运行窗口或者直接点开始菜单选运行,输入gpedit.msc   (2)修改管理员账户名 进入本地组策略编辑器后,后续操作如…
转载 https://blog.csdn.net/qiutiandepaomo/article/details/84028558 windowSoftInputMode属性主要是用来设置窗口软键盘的交互模式的,这个属性会有两个影响: 1)当有焦点产生时,软键盘是隐藏还是显示. 2)是否减少活动主窗口大小以便腾出空间放软键盘. 这个属性一共有9个值,分别是:stateUnspecified.stateUnchanged.stateHidden.stateAlwaysHidden.stateVisi…
Android中矢量动画 Android中用<path> 标签来创建SVG,就好比控制着一支画笔,从一点到一点,动一条线. <path> 标签 支持一下属性 M = (Mx, y) 移动到x,y,并不会划线 L (Lx, y) 直线连到x,y,还有简化命令H(x) 水平连接.V(y)垂直连接 Z,没有参数,连接起点和终点 C=(Cx1, y1, x2, y2, x, y),控制点x1,y1 x2,y2,终点x,y Q=(Qx1, y1, x, y),控制点x1,y1,终点x,y A…
前言:近期在慕课网学习了慕课网课程Android中的HTTP通信,就自己总结了一下,其中参考了不少博文,感谢大家的分享. 文章内容包括:1.HTTP简介2.HTTP/1.0和HTTP/1.1之间的区别3.HTTP的请求头.响应头和状态码4.Android中的HttpUrlConnection 1.Http简介Http(Hypertext transfer protocol)定义了浏览器怎么向万维网服务器发送万维网文档,以及服务器怎么将文档发送给服务器.从层次上看,http是面向应用层协议的,它是…
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下.http://www.jinhusns.com/Products/Download/?type=xcj 在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.通常我们的代码会这样实现. public class SampleActivity extends Activity {   …
android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式.   其中SQLite:是才用动态存储数据类型,会根据存入值自动的判断,SQLite具有以下五种数据类型:   1:NULL,空值类型   2:INTEGER:带符号整数,具体取值取决存入数值范围大小.   3:REAL:浮点数字   4:TEXT:文本类型   5:BLOB:二进制对象 此外,其它类…
Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声音是从耳机发出的:而此时拔出耳机,Audio输出通道会发生切换.如果音乐播放器不做处理,Audio输出是被切换到扬声器的,声音直接从Speaker发出.我们在编写程序时,要捕获并按照需求来处理这样的事,本文就是讲解如何处理的. Android中可以通过android.media.AudioManag…