自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苏青岩

身体、知识、梦想、信念、自信、骨气。在我想要的一切来临之前,必须先让自己拥有有足够的能力!

  • 博客(36)
  • 资源 (5)
  • 收藏
  • 关注

原创 AndroidStudio NDK开发【dlopen failed: library "libc++_shared.so" not found】报错解决

今天换了台新电脑,安装完环境顺手运行了以前写的项目,结果一脸懵逼,直接崩了。。。(瞬间强迫症就犯了,受不了自己电脑里有错误代码)看了下日志【java.lang.UnsatisfiedLinkError: dlopen failed: library “libc++_shared.so” not found】找不到库“ libc ++ _ shared.so...

2019-10-23 09:01:49 22865 16

原创 如何使用git rebase解决冲突,并维护好分支结构

情况分析分支 Main dev-1 dev-21和2两个人同时在main切出自己的分支.1在dev-1的分支上1修改了README文件的第一行 提交自己的分支到线上 commitID=1.1之后1又修改了README文件的第二行 提交自己的分支到线上commitID=1.2然后1做了merge,把dev-1合并到了main.2在dev-2的分支上修改了README文件的第一行 提交自己的分支到线上 commitID=2.1之后2又修改了README文件的第二行 提交自己的.

2022-04-27 18:11:59 584

原创 git的七个重要基本原则

Git 展开的七个重要基本原则每次 commit 只能做一件事commit 不能破坏构建所有代码都是二等分的永远不要 rebase 公共分支Git 正确合并保留定义明确的 commit 日志持续测试和集成每次 commit 只能做一件事代码提交中心原则是,所有更改都必须分解为小步骤进行 —— 您的每个 commit 都只能做一件事。这并不意味着每个 commit 都必须很小,比如对在数千个文件中使用的函数的 API 进行简单更改,可以使更改量很大,但仍然可以接受,因为它是针对某一项单一

2022-04-06 15:11:46 327

原创 【飞控协议】MavLink介绍和编译

MavLink是什么?MavLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在无人飞行器与地面站之间通讯,以及无人飞行器之间通讯最常用的协议。官方学习文档:Introduction · MAVLink Developer GuideMavLink的数据格式:目前数据包格式有两种 :V1 和 V2区别:V2是V1的拓展版本,是一个更加安全的可拓展协议。V1 的格式MAVLink通信

2021-12-13 09:30:58 4825

原创 第三节: UVCCamera案例分析-->USBCameraTest

一、效果展示略 (动图录制忒麻烦,大家跑通项目自己看吧!)二、案例中的实现步骤 一般情况下我们都使用系统相机 , 如果做美颜相机我们就会用到Camera和Camera2里面的API , 或者使用C去调用我们相机的硬件 , 当然还会使用OpenGL ES 和 OpenCV 对预览帧做处理...获取视频数据让TextureView的大小和视频数据的大小 进行等比缩放 ( 自定义TextureView )设置预览界面 (自定义的 TextureView )打开相机在Activity上

2020-07-20 12:39:19 1246

原创 第二节 : 运行UVCCamera案例的BUG解决方法

一、NDK版本问题 不出意外的话,一进来大家就会报这个错误,这个错误是NDK版本过高的问题! (大家在刚刚使用NDK时,你可能会倾向于使用最新 的编译平台,但事实上这是错误的,因为NDK平台不是后向兼容(兼容过去的版本)的,而是前向兼容(兼容将来的版本)的。推荐使用app 的minSdkVersion对应的编译平台。) 解决办法 :更换NDK版本 如果AndroidStudio一直下载失败的话,可以去下面网址去下载NDK旧版本下载网址:https://developer.

2020-07-18 12:41:25 2137

原创 第一节:认识UVCCamera

一、什么是UVC? UVC,全称为:USB video class或USB video device class。是Microsoft与另外几家设备厂商联合推出的 为USB视频捕获设备定义的协议标准。二、为什么Android要使用UVCCamera?1、名词解释: OTG是On-the-go的英文缩写,是无线通讯设备或是移动设备的一项拓展功能。(官方解释太正式了,看简单版的吧!) 简单版 :OTG是让设备支持外接U盘,通过一个USB线,可以像电脑一样,读取U盘

2020-07-18 12:21:42 3881 4

原创 OpenGL ES开发之纹理映射(上)

偷懒了,直接放笔记吧!这样看起来清楚,实在不想在CSDN上排版了,感觉很浪费时间!

2020-06-10 10:27:57 157

原创 OpenGL开发3D图形绘制——球体

2020-06-10 10:20:50 1818

原创 OpenGL ES开发绘制3D正方体

2020-06-10 10:16:09 357

原创 OpenGL ES开发基础(投影与变换)

3D应用开发中,一项很重要的工作 就是对场景中的物体进行各种投影与变换。在OpenGL ES2.0之后变换方面采取开放模式,API不会提供完成各种变换的方法,变换矩阵都是由开发人员直接提供给渲染管线。所以今天给大家推荐本书3D数学基础,建议大家都去学一下!3D数学下载传送门:点击下载今天我们讲投影与变换,在讲之前我们先研究下,使用相机是拍照决定图片效果的的因素有哪些!上图我们可以看到由于上图相机的 位置 、方向、距离 不同拍出来的效果也是不一样的!所以决定照片效果的 就是 距离、方向 和 相

2020-06-08 15:52:12 308

原创 【Android FFmpeg】第四节:音视频直播基础

在CSDN写博客写了差不多四年了,以前写笔记总是认为自己能看明白就好,后来做了讲师才明白,自己会不代表你能说出来,然后再教会别人,这个社会就是人和人的社会,是需要沟通与交流的。19年本来打算写完OpenGL ES系列的,但是没抓出时间让它溜了 。 就像那句话说的 “凡人皆克己成,以纵己败” 做一件事情要持之以恒才会有成功的希望,所以20年我又来了,这次会坚持写下去!在学习之前我们需要温习一下直播...

2020-05-10 22:38:39 268

原创 【Android 架构之MVP】简单的MVP搭建(上)

一、为什么使用MVP?1. MVC传统模式架构的劣势M层:数据层->包含(数据库、文件、网络、Javabean等等…)V层:UI层->包含(View以及子类、Fragment以及子类、Activity以及子类)C层:中介->作用(目的:就是将UI层和数据层进行解耦和,同时进行关联)我在安卓中使用最多的就是MVC,相对来说他要求的技术难点较低,好写,尤其是view层和c...

2019-12-11 23:14:34 472 2

原创 Android DataBinding的使用(二)单向绑定

一. 什么是单向绑定?DataBinding的本身是对View层状态的一种观察者模式的实现,通过让View与ViewModel层可观察的对象进行绑定,当ViewModel层数据发生变化,View层也会自动进行UI的更新。 二. 单项绑定是用来干嘛的?前面我们讲了DataBinding的作用就是实现数据绑定,但我们上面写的代码绑定的控件的内容,没有随着绑定变量的值发生改变的时候,因此每次都得重...

2019-12-10 17:35:33 750 1

原创 【Android NDK学习之路:第一节】搭建Android Studio的NDK环境

1.关于NDK的一些基础问题1.什么是ndk?有啥作用??NDK是Native Development Kit的缩写,意思是原生开发工具包,它可以让我们在Android应用中使用C和C++代码,通过其提供的众多平台库,我们可以使用这些平台库管理NativeActivity以及访问物理设备组件(例如:传感器)。NDK可以让我们进一步提升设备性能,以降低延迟,或运行计算密集型应用,如游戏或物...

2019-12-10 15:46:11 257

原创 Android DataBinding的使用(一)

一、什么是DataBinding? DataBinding 是谷歌官方发布的在android上对MVVM设计模式的一个实现框架,其作用是实现数据绑定, Android DataBinding主要实现了View和ViewModel的双向绑定,包括用户的响应。并且实现了自动更新。 DataBinding优点: 1.大量减少Activity内的代码。 2....

2019-11-25 10:31:26 662

原创 【AndroidStudio NDK之使用OpenCV——第二节】浅谈OpenCV Mat类(上)

一、什么是Mat?在计算机内存中,数字图像都是以矩阵的形式存储和运算的。而OpenCV中的Mat类就是用于保存图像以及其他矩阵数据的数据结构的。二、Mat的方法介绍1.构造方法(如何创建Mat) /** * Mat(int rows, int cols, int type, void* data); * 作用:创建矩阵 * *【参数: * 1.行数。 * ...

2019-11-22 13:20:13 800

原创 VisualStudio2019搭建OpenCV环境

环境:     VisualStudio2019、Win10、OpenCV-2.4.11步骤一:下载OpenCV     OpenCV下载地址     点击Windows下载下载完成后打开解压到指定地方build是OpenCV使用时要用到的一些...

2019-11-06 19:56:57 3883 15

原创 【Android FFmpeg】第三节:移动端使用 OpenSL ES播放pcm音频

一、OpenSL ES是什么?OpenSL ES (嵌入式音频加速标准), 它是无授权费、跨平台、针对嵌入式系统精心优化的硬件音频加速API。它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能,低响应时间的音频功能实现方法,并实现软/硬件音频性能的直接跨平台部署,降低执行难度,促进高级音频市场的发展。 简单来说:OpenSL ES是一个嵌入式、跨平台、免费的、音...

2019-08-12 18:41:55 376

原创 【Android FFmpeg】第二节:Xshell连接VMware Pro中虚拟系统Ubuntu

为了搞起来方便我们用Xshell和Xftp 连接虚拟机1. 启动Ubuntu系统,在桌面右键打开终端2.尝试登陆root用户(使用登陆系统的密码),如果失败则需设置新的root密码3.设置新的root密码 执行命令 :sudo passwd 然后设置新密码4. 更新数据源5.安装net-tools工具      &nbs...

2019-07-26 17:33:35 179

原创 【Android FFmpeg】第一节:Win10系统VMware安装Ubuntu虚拟机

最近在捣鼓音视频这一块,顺带做个笔记。一、安装VM虚拟机1.下载VM虚拟机:VMware Workstation Pro下载官网2、运行安装程序3、同意用户协议4、选择安装位置5、自行勾选是否检查更新等6、设置快捷方式7、开始安装8、安装中9、安装完成10、输入许可证(这里是启动时输入的),网...

2019-07-26 11:34:05 193

原创 Android Studio搭建Flutter环境

一、Flutter介绍Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。二、环境搭建Flutter 的环境搭建⼗分省⼼,特别对应Android开发者⽽⾔,只是在AndroidStuido上安装插件,并下载...

2019-06-25 17:19:34 1386 4

原创 Android Studio布局页面报错【Design editor is unavailable until a successful build】

  每次更新AndroidStudio都会出现一堆问题,今天更新完后Android Studio后就发现布局页面不知道哪里去了(内心瞬间万马奔腾,@#@%@#@…)。。。报错原因:Design editor is unavailable until a successful build.设计编辑器不可用,直到成功构建为止。(构建不成功?!)Error:Execution failed f...

2018-11-17 13:04:59 15059 10

原创 【AndroidStudio NDK之使用OpenCV——第一节】使用AndroidStudio搭建OpenCV的NDK开发环境

一、OpenCV介绍  OpenCV是一个基于开源的跨平台计算机视觉库,实现了许多图像处理和计算机视觉方面的通用算法,是计算机视觉领域最有力的研究工具之一。  OpenCV应用领域:人机互动 物体识别 图像分割 人脸识别 动作识别 运动跟踪 机器人 运动分析 机器视觉 结构分析 汽车安全驾驶 自动驾驶。。。二、OpenCV模块介绍1.core,核心功能模块,主要包含如下的内容: ...

2018-11-17 12:12:57 2521 4

原创 AndroidStudio NDK开发【Error:Expected caller to ensure valid ABI: MIPS64】报错解决

更新AndroidStudio的ndk后 Gradle Sync 一直报Error:Expected caller to ensure valid ABI: MIPS64如图:原因:AndroidStudio的ndk里面缺少文件解决方案:下载新的ndk并连接到AndroidStudio,然后再次build项目 就可以了新的NDK下载地址:NDK Version 16 的下载链接htt...

2018-11-16 16:49:23 6137 2

原创 【AR\VR开发基础】GLSL初步学习①

可能看到这很多人就会认为跑偏了,我们明明是来学AR/VR的为啥要搞 GLSL ?这是神马鬼? 其实在图形学中,我们要学的东西很多,就比如说一些专业术语,还有线性代数。。。 所以今天就带大家先来认识一下这些专业术语以及基本的OpenGL着色语言(GLSL也叫着色语言)。1. GLSL是什么(GLSL详细简介)?    GLSL是一门专门为图形开发设计的编程语言。2...

2018-06-08 14:18:19 1677

原创 【FFmpeg环境搭建】MinGW安装过程

MinGW安装过程一. 下载MinGW官网下载地址:http://sourceforge.net/projects/mingw/二. 安装双击下载好的压缩文件。 然后出现如下界面,点击install(安装)开始安装。 3.指定安装参数选择(安装目录,用户目录选择)后,点击Continue继续下一步。 4.如下界面是下载和设置MinGW的安装配置 5.上...

2018-05-27 08:58:00 1019

原创 【AR\VR开发基础】认识 OpenGL ES

要想在Android上玩转AR/VR那OpenGL ES和C/C++是必不可少的! 所以这里建议大家学之前先去学习一下C/C++/JNI/NDK这些基础! 废话不多说直接上内容!!!!我们去学习一个新的东西一般会问这么几个问题,所以在这里先来解决大家的疑问!!一、OpenGL是什么? 1、】OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进...

2018-04-27 14:11:27 2411

原创 OpenGL ES 着色器语言基础——数据类型概述(一)

数据类型概述一、标量 :也被称为“无向量”其值只有大小,并不具有方向。 标量之间的运算遵循简单的代数法则,如质量、密度、体积、时间以及温度等都属于标量。 OpenGL ES着色语言支持的标量类型有布尔型(bool)、整形(int)和浮点型(float)。

2017-06-08 21:32:39 616 1

转载 关于大端字节序和小端字节序

现在,大多数的计算机都是按字节编址的(除了按字节编址还有按字编址和按位编址)。所以这里只讨论按字节编址的计算机。大端字节序:数据的高字节保存在低地址。小端字节序:数据的高字节保存在高地址。计算机中的内存可以看成是线性的(这里只讨论按字节编址), 如下图:从上图可以看出,一个int型是16位也就是两个字节的长度,一共可以表示2^16byte(也就是64KB)的内存。现在我们来看看一个int型分别在

2017-06-04 19:27:47 424

翻译 OpenGL 和OpenGL ES简介

OpenGL的全称是Open Graphics Library, 即开放的图形库接口,它定义了一个跨编程语言、跨平台的编程接口的规范,它主要用于三维图形(实际上二维图形也可以)变成。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大,但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。

2017-06-03 23:07:45 864

转载 Android中的硬件加速

从Android 3.0开始,Android的2D渲染管线可以更好的支持硬件加速。硬件加速使用GPU进行View上的绘制操作。硬件加速可以在一下四个级别开启或关闭:ApplicationActivityWindowView

2017-05-28 14:04:09 512

原创 Android自定义控件(一)——基础知识了解

一、坐标系   由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情见下图:    我们可以看到我们屏幕的y轴是向下增大的,角度也是顺时针增大的,我们的手机屏幕是以左上角为原点,X轴向右无限增大,Y轴向下无限增大。 **MotionEvent中 get 和 getRaw 的区别**eve

2017-05-27 21:55:37 385

原创 XMPP协议介绍【2017/05/13】

目前IM有四种协议: 1. 即时信息和空间协议(IMPP)。 2. 空间和即时信息协议(PRIM)。 3.针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。 4可扩展消息与存在协议(.XMPP)。其他IM协议:qq协议是二进制的,不开源,不开放。第三方客户端有开源软件LumaQQ(Java) 等 msn协议是文本的,不开源,早期版本开放,msn8以后就封闭了.开源j

2017-05-14 18:53:08 581

原创 Android自定义控件

[Android自定义控件] Android自定义控件一、View结构原理 Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。 View定义了绘图的基本操作 基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别包含了onMeasure()、onLayout()、onDraw()

2016-08-26 11:41:27 499

原创 安卓 代码混淆

下面我们将分别介绍代码混淆与资源文件混淆具体实践。- 代码混淆-Progurd下面来总结以下混淆代码的步骤:在android studio的android项目中找到module的gradle配置文件,添加proguard配置buildTypes { debug { buildConfigField "boolean", "LOG_DEBUG", "true" minifyE

2016-08-26 11:24:08 437

修改好的FFmpeg的configure文件

云盘满了没地方放了就只好放这儿了。

2019-12-07

OpenGL环境搭建所需配置文件.txt

OpenGL环境搭建所需所有文件, 如果有问题可以联系我QQ

2019-11-06

PCM格式音乐文件(音频文件)

三个文件都是16bits,都是单通道。(PCM格式原始音乐数据。根据数字音频的产生过程可知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV 文件中均有应用。)

2019-08-06

AndroidFFmpeg.7z

Linux下编译的 最新版 FFmpeg动态库 ,有 arm 和 x86 !!

2019-07-26

Flutter完整开发实战详解系列.txt

Flutter完整开发实战详解系列

2019-07-02

空空如也

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

TA关注的人

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