自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随风的博客

码农的世界里不是只有代码

  • 博客(40)
  • 资源 (7)
  • 收藏
  • 关注

原创 OpenGLES NDK 项目创建(一)

1.创建NKD项目2.引入openglES 依赖修改CMakeLists.txt文件target_link_libraries(android GLESv2) //新增android 和 GLESv23.具体的代码方法解释setEGLContextClientVersion(2); //设置gles 的版本 glClearColor(.1f,.4f,.6f,1.0f); //glClearColor只起到Set的作用,并不Clear任何 指定刷新颜色缓冲区时所用的颜色。所以,完成一

2022-04-25 17:46:45 518

原创 Android 使用MediaPipe

Android 使用MediaPipe1.介绍MediaPipe是一款由Google开发并开源的数据流处理机器学习应用开发框架。它是一个基于图的数据处理管线,用于构建使用了多种形式的数据源,如视频、音频、传感器数据以及任何时间序列数据。MediaPipe通过将各个感知模型抽象为模块并将其连接到可维护的图中来解决这些问题。优点有效管理资源(CPU和GPU)达到低延迟性能处理诸如音频和视频帧之类的时间序列数据的同步并测量性能和资源消耗(目前Google正在开发,尚未开源)MediaPi

2021-07-28 15:07:16 8092 7

原创 JNI数据类型

JNI数据类型java中有两种数据类型:基本数据类型:布尔、字节、字符、短整、整型、长整、浮点、双精度引用类型:字符串类、数组类及其他类基本数据类型基本数据类型可以直接与c/c++的相应基本数据类型映射引用类型与基本数据类型不同,引用类型对原生方法是不透明的,Java类型本地类型描述booleanjbooleanC/C++8位整型bytejbyteC/C++带符号的8位整型charjcharC/C++无符号的16位整型short

2021-04-26 15:16:07 1427

原创 FFmpeg_基础知识

基础知识文章目录基础知识帧率分辨率刷新率码率画质与码率采样率声道为什么音视频数据需要压缩为什么音视频数据可以压缩视频编码格式音频编码格式封装格式流媒体协议YUV简介H.264 I,P,B帧和PTS,DTSFFmpeg核心模块帧率帧率(Frame Rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(frames per second,简称fps)或赫兹(Hz)。每秒显示帧数(fps)或者帧率表示图形处理器处理图像时每秒能够刷新的次数。高帧率可以得到更流畅、更逼真的动画。一般来说,30fp

2021-04-23 13:41:50 355

原创 ffmpeg项目编译出错问题解决方案.

1. 链接静态库先后顺序不正确,引起的符号定义找不到libavformat/utils.c:513: error: undefined reference to 'av_parser_close'libavformat/utils.c:518: error: undefined reference to 'avcodec_parameters_to_context'libavformat/utils.c:525: error: undefined reference to 'avcodec_param

2021-04-23 13:25:29 2956

原创 Java 线程终止

不正确的线程终止Stopstop:中止线程,并且清除监控器锁的信息,但是可能导致线程安全问题,JDK不建议使用。Destroy: JDK未实现该方法正确的中止线程方式 interrupt如果目标线程在调用object class 的wait() 、wait(long)或者wait(long,int)方法、join()、join(long,int)或者sleep(long,int)方法时被阻塞,那么interrupt会生效,该线程的中断状态将被清除,抛出interrupteException异常

2020-10-05 10:39:58 92

原创 Flutter 按钮

Material组件库中的按钮Material 组件库中提供了多种按钮组件如RaisedButton、FlatButton、OutlineButton等。它们都是直接或间接对RawMaterialButton组件的包装定制。所以他们大多数属性都和RawMaterialButton一样。所有Material 库中的按钮都有如下相同点:按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮...

2019-11-25 10:31:18 260

原创 Flutter 文本之Text

TextText用于显示简单样式文本,它包含一些控制文本显示样式的一些属性Text("我是Text组件" * 10, //重复10次 maxLines: 1, //显示1行 textAlign: TextAlign.center, //居中 overflow: TextOverflow.ellipsis, // textScaleFacto...

2019-11-25 09:44:13 217

原创 Flutter Widget简介

概念:在Flutter中几乎所有的对象都是一个Widget。与原生开发中“控件”不同的是,Flutter中的Widget的概念更广泛,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,而原生开发中的控件通常只是指UI元素。Widget与Element在Flutter中,Widget...

2019-11-22 11:27:19 395

原创 Android 插件化

什么是插件化占位式插件化宿主App无法直接加载插件apk的Activity,因此需要一个代理的Activity,所以称之为占位式插件化。

2019-08-07 13:07:06 404

原创 Android bsdiff 实现增量更新

首先了解一下什么是增量更新,引用百度百科增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。Android 增量更新可以使用bsdiff首先下载bsdiff之后解压,进入文件夹执行make,如果报以下错误需要下载bzip2然后解压进入bzip2目录执行make编译 cc -O3 -lbz2 bspatch...

2019-07-12 13:40:59 567

原创 Android 使用FFmpeg静态库

FFmpeg 编译生成.a 静态库译环境:Linux 环境(Ubuntu 14.04 ,x86_64)NDK 版本(android-ndk-r17c)FFmpeg 版本(ffmpeg-4.0.1):编写编译脚本:#!/bin/bashNDK_ROOT=/root/ndk/android-ndk-r17c#TOOLCHAIN 变量指向ndk中的交叉编译gcc所在的目录TOOLCH...

2019-05-31 14:36:53 1852 1

原创 FFmpeg 推流之 RTMP、X264与交叉编译

RTMPDump:​ RTMPDump 是一个用来处理RTMP流媒体的开源工具包。它能够单独使用进行RTMP的通信,也可以集成到FFmpeg中通过FFmpeg接口来使用RTMPDump。RTMPDump源码下载:http://rtmpdump.mplayerhq.hu/交叉编译下载RTMPDump 库解压 打开librtmp目录,打开makefile文件,找到 librtmp.a: $(O...

2019-05-31 11:25:32 974

原创 OpenCV(四)图像操作

模糊卷积卷积常用于实现图像吗模糊均值模糊卷积核的所有系数都相同,这种基于相同系数的卷积核完成的卷积操作又称为均值模糊,均值模糊最主要的作用是可以降低图像的噪音、模糊图像、降低图像的对比度Imgproc.blur(Mat src,Mat dst,Size ksize,Point anchor,int borderType)//src:表示输入图像//dst:表示卷积模糊之后输出...

2019-03-29 11:32:16 347

原创 OpenCV(三) Mat像素操作

像素读写Mat作为图像容器,其数据部分存储了图像的像素数据,我们可以通过相关的API来获取图像的数据部分。在获取图像数据的时候,知道Mat的类型与通道数目至关重要,根据Mat的类型与通道数目,开辟适当大小的内存空间,然后通过get方法就可以循环实现每个像素点值的读取、修改,然后再通过put方法修改与Mat对应的数据部分即可常见的Mat的像素读写get与put方法支持如下表。表中是当前O...

2019-03-27 17:11:51 5017 2

原创 OpenCV(二) Mat 与 Bitmap

Mat 对象Mat是OpenCV 中用来存储图像信息的内存对象,当通过Imgcodes.imread()方法从文件读入一个图像文件时,imread方法就会返回Mat对象实例,或者通过Utils.bitmatToMat()方法把bitmap转换成Mat对象。Mat对象中除了存储图像的像素数据以外,还包括了图像的其他属性,具体为宽、高、类型、维度、大小、深度等。当你需要这些信息时,可以通过相关的...

2019-03-27 17:11:07 8061

原创 OpenCv(一)

OpenCV 是什么?OpenCV的中文全称是源代码开放的计算机视觉库(Open Source Computer Vision Library),是基于C/C++ 编写的,是BSD开源许可的计算机视觉开发框架,其开源协议允许在学术研究与商业应用开发中免费试用它,OpenCV 支持Windows、Linux、MacOs、IOS与Android操作系统上的应用开发。1、编程语言OpenCv中这些...

2019-03-27 17:09:58 1354

原创 Android 加载外部Dex并调用其方法

Class文件转Dex文件在AS build -> javac 文件中拷贝class 文件。在sdk 根目录下,有一个build-tools目录随便点击进入一个版本,其中有一个dx.bat文件,就是转dex 文件的脚本,命令格式:dx --dex --output=out.dex 当前class所在目录。加载Dex文件将Dex 文件拷贝到手机SD卡文件下。创建...

2019-03-22 14:02:10 3712

转载 掌控 Android Gradle

转发:https://kymjs.com/code/2018/02/25/01/

2018-02-27 08:23:31 161

原创 创建第一个cocos2d 应用

1、创建一个Android应用程序2、生成一个SurfaceView对象,作为Activity当中所显示的内容;3、得到CCDirector对象,并通过该对象设置应用程序各种属性coco2d程序的基本属性1、director.attachinView(mGLSurfaceView):用于设置应用程序使用的GL试图2、director.setDeviceOrientation(CCDirector.k

2017-10-28 13:47:40 237

原创 Cocos2d 核心类

CCDirector:导演类是游戏中的组织者和领导者,负责调度游戏当中的一切对象和资源; CCScene:场景可以简单的理解为一个关卡,多个关卡组合在一起就形成了游戏; CCSprite:游戏当中所有可以运动的东西几乎都是精灵,一个布景层可以包含多个精灵;

2017-10-28 13:11:49 235

原创 HTML 常用标签

<html> <head> <title>这是HTML页面</title> <meta name="content-type" content="text/html; charset=UTF-8"> </head> <body> This is my HTML page. <br> <h1 class="name" id="001" title="标题">只是

2017-08-25 09:28:56 208

原创 Kail linux 的黑科技

http://www.knowsky.com/617662.html

2017-08-14 09:57:52 1706

原创 Kail Linux fluxion WiFi破解

系统:Kail Linux步骤一: git上找到 fluxion 进行clone。 进入fluxion 目录 运行 ./fluxion.sh 如何发现有没有安装完的插件 进入install 中 运行./install 安装 安装完成之后如下图: 步骤二: 如上图这时候我们需要选择语言,我选择的是1-English:步骤三: 这时候就开始选择信道我选择1: 步骤四: 选择之后会自动扫描

2017-08-06 22:09:21 6748

原创 FFmpeg 解码视频文件

源码记录: const char * path = env->GetStringUTFChars(url, 0); //封装格式上下文,统领全局的结构体,保存了视频文件封装格式的相关信息 AVFormatContext *pFormatCtx = avformat_alloc_context(); av_register_all();//注册编解码器 LOGI(

2017-08-03 15:47:19 1155

原创 FFmpeg 编译

环境 Linux NDk版本:13 FFmpeg 版本3.3.3Linux 环境下配置NDK省略。。。。 FFmpeg 解压省略。。。。。开始进入正题了 稍等片刻首先进ffmpeg 下的configure 文件中的:SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/

2017-08-03 11:28:44 345

原创 MediaCodec 解码视频文件

首先初始化解码器: 其中包括视频解码器 和 音频解码器 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { extractor = new MediaExtractor(); audioExtractor = new MediaExtractor();

2017-08-02 14:36:45 1576

原创 Jni函数

接口函数表每个函数都可以访问通过JNIEnv参数在一个固定的偏移量。JNIEnv类型是一个指向结构的指针存储所有JNI函数指针。这是定义如下:typedef const struct JNINativeInterface *JNIEnv;,函数表之间可以共享所有JNI接口指针。 const struct JNINativeInterface ... = { NULL, NULL, NU

2017-08-01 13:02:39 618

原创 JNI类型和数据结构

Java数据类型对应Native数据类型: Java Type Native Type Description boolean jboolean unsigned 8 bits byte jbyte signed 8 bits char jchar unsigned 16 bits short jshort signed 16 bits

2017-08-01 10:22:35 336

原创 Volley 请求数据之数据不缓存

在Volley的源码中我们可以找到HttpHeaderParser这个class,里面有一段: if(token.equals("no-cache") || token.equals("no-store")) { return null; }获取头部信息判断是否是no-cache 如果是就不缓冲 我们只要重写这个方法 : pu

2017-07-24 08:48:49 499

原创 Android快速开发工具集合

Git地址:https://github.com/AbrahamCaiJin/CommonUtilLibrary

2017-07-17 11:24:51 363

原创 ViewPager 实现画廊效果

有图有真相我们先看图上代码了:初始化: private void initView() { WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int

2017-07-12 14:37:24 1976

转载 下拉刷新

想要的下拉刷新全在这里:https://github.com/scwang90/SmartRefreshLayout

2017-07-12 08:58:09 174

原创 自定义View的5中滑动方式

自定义View的5中滑动方式分别是:   layout()    offsetLeftAndRight() 和 offsetTopAndBottom()   LayoutParams   动画  scollTo与scollBy和Scroller 这5中方式基本在项目中已经够用了。第一种  layout()  Layout is a two pass process: a measure pass ...

2017-07-10 09:09:31 287

原创 Uri 转实际路径Path

public static String getPath(final Context context, final Uri uri) { // check here to KITKAT or new version final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKA

2017-07-05 08:38:42 671

原创 Android studio Jni生成.so 配置build

在android 节点下加入externalNativeBuild { ndkBuild { abiFilters 'armeabi' cppFlags "-fpermissive", "-fexceptions" cFlags "-Wno-error=format-sec

2017-06-06 11:40:18 313

原创 Android 动态加载Jni方法

用Androidstudio新建一个项目,在main目录下创建jni目录,创建一个Test.cpp c++文件。·extern "C" {jstring nativeGetHelloString(JNIEnv *env, jobject obj) { return env->NewStringUTF((char *) " This is calling from JNI

2017-06-05 13:13:30 1093

原创 初识Python

1.什么是Python:       是一种使你在编程时能够保持自己风格的程序设计语言,你不用费什么劲就可以实现你想要的功能,并且编写程序清晰易懂。(一种解释型的、面向对象的、带有动态语言的高级编程程序设计语言);2.Python的简史:     Python的作者,Guido von Rossum,确实是荷兰人。1982年,Guido从阿姆斯特丹大学(University o

2017-03-04 23:04:52 490

转载 大神的一个仿qq气泡

https://github.com/MonkeyMushroom/DragBubbleView

2017-02-23 13:20:15 514

原创 TextInputLayout应用

源码解释:   Layout which wraps an EditText (or descendant) to show a floating label when the hint is hidden due to the user inputting text. Also supports showing an error viasetErrorEnabled(boolean)

2017-01-11 14:18:04 464

2022最新Android知识整理.pdf

79847039_MHFHwkWJdalRWafcvvkJAsLuB.pdf

2022-07-05

Android h264编码库

Android h264编码库

2021-04-26

微信xposed 框架

一款微信xopsed框架 提供大家交流与学习,有什么需要优化的给我留言

2018-12-16

libyuv.so库 带头文件

libyuv编译的so库,包括头文件,其中不包含格式转换的代码

2018-05-09

Android ffmpeg so库

Android 平台下的ffmpeg 最新的so库,其中不包括c++视频解码的代码,只有Linux环境编译下的so库,不需要自己在Linux环境下再次编译so库

2017-09-15

抢票神器智能版

一款可以抢票的神器

2016-12-19

android 自定义组件开发

Android自定义组件开发详解.pdf

2016-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除