摘要: 一、重采样流程 重采样(解码音频数据之后格式不可以直接播放,需要重采样,类似图像的像素转换) 1.分配上下文 2.设置参数(分为(前几个是)输出格式和(后几个)输入格式,两个相对应的) 可以通过改变样本率来改变音频的播放速度,但是会失帧。 3.初始化 4.开始转换 二、相关函数说明 1、 SwrCo 阅读全文
posted @ 2018-11-21 15:16 弄潮儿儿 阅读(2001) 评论(0) 推荐(0) 编辑
摘要: 一、编解码基本流程 主要流程: 打开视频解码器(音频一样) 软解码、硬解码 进行编解码 下面先来看打开视频解码器 ①avcodec_register_all()//初始化解码 ②先找到解码器、 找解码器(软解码):AVCodec *codec = avcodec_find_decoder(strea 阅读全文
posted @ 2018-11-21 15:13 弄潮儿儿 阅读(872) 评论(0) 推荐(0) 编辑
摘要: 一、解封装基本流程 二、函数介绍 ①av_register_all(); 初始化解封装,注册解封装格式 在最开始编译FFmpeg的时候,我们做了一个configure的配置,其中开启或者关闭了很多选项。configure的配置会生成两个文件:config.mk和config.h。 config.mk 阅读全文
posted @ 2018-11-21 15:12 弄潮儿儿 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 本文目录 一、androidstudio环境 二、快捷键配置 三、新建项目 四、NDK开发 五、so文件编译 一、 androidstudio的环境 在SDK Tools中安装NDK开发环境(File > Settings > Appearance & Behavior > System Setti 阅读全文
posted @ 2018-11-21 14:45 弄潮儿儿 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 本文目录 一Androidstudio中需要的插件 二项目配置 ①build.gardle配置 ②CMakeLists.txt ③Android和Cpp的代码 ④so文件生成 ⑤so文件的位置 一、Android studio中需要的插件: CMake LLDB NDK 二、项目配置 ①build. 阅读全文
posted @ 2018-11-21 11:09 弄潮儿儿 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 头文件 .h 与源文件 .ccp 的区别 .h 文件一般是用来定义的,比如定义函数、类、结构体等; .cpp 文件则是对头文件的定义进行实现。 include .h文件,可以调用你声明的函数、类等。当然,比较简单的类、函数,你也可以直接在头文件里面实现。 一般来说,头文件提供接口,源文件提供实现。但 阅读全文
posted @ 2018-11-21 09:17 弄潮儿儿 阅读(428) 评论(0) 推荐(0) 编辑
摘要: C++文件的执行过程 -- 预编译-->编译-->汇编-->链接 hello.c-->预处理-->hello.i-->编译器(ccl)-->hello.s-->汇编器(as)-->hello.o(库文件)-->连接器(ld)-->hello(可执行二进制) 预编译:展开包含的头文件、宏定义,将这些信 阅读全文
posted @ 2018-11-21 08:52 弄潮儿儿 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1.步骤 1.编写dll文件,放入项目的bin目录(在window上是dll文件,在Linux上是so文件,dll和so都是由C程序生成) 2.新建接口继承Library 3.加载对应的dll或者so文件:CLibrary INSTANCE =Native.loadLibrary("hz", CLi 阅读全文
posted @ 2018-11-21 08:24 弄潮儿儿 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 本文目录: 1、异常的概念 2、java中的异常体系结构 3、异常基本语法 4、jvm对异常的处理 5、异常注意事项 1.异常概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Err 阅读全文
posted @ 2018-11-19 13:58 弄潮儿儿 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 本文目录: 前言 普通类、抽象类、接口的表示 类图之间关系 总结 前言 类图和序列图是UML中最常用的两种Diagram。我将做详细的总结。在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系。这足以说明类图的重要性。 对类图的基本认识有 阅读全文
posted @ 2018-11-16 16:47 弄潮儿儿 阅读(313) 评论(0) 推荐(0) 编辑
摘要: public class Six { static int[] arr; public static void one() { int len = arr.length; int counter = 1; int h = 1; while(3*h+1 0) { //重复执行,一直到时间间隔=0; ... 阅读全文
posted @ 2018-11-16 15:24 弄潮儿儿 阅读(154) 评论(0) 推荐(0) 编辑
摘要: /** * 归并排序--分治法 * */ 阅读全文
posted @ 2018-11-16 15:23 弄潮儿儿 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 快速排序 阅读全文
posted @ 2018-11-16 15:23 弄潮儿儿 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 直接插入排序就是从待排序列中选出一个元素,插入到已经有序的元素之中,直到所有的元素都插入到有序序列中所有的元素就全部有序了。 通常的做法就是将第一个元素看做是有序的元素(即待排序列的第一个元素看做是有序序列),然后我们将第二个元素和有序序列(即 9 第一个元素)作比较,按正确的序列插入到序列中去。然后在将第三个元素和前面有序序列(即整个待排序列的前两个元素)作比较,将第三个插入到前两个元素中去... 阅读全文
posted @ 2018-11-16 15:22 弄潮儿儿 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录 作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序) 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据... 阅读全文
posted @ 2018-11-16 15:21 弄潮儿儿 阅读(392) 评论(0) 推荐(0) 编辑
摘要: /** * 冒泡以及三种优化 * */ 阅读全文
posted @ 2018-11-16 15:20 弄潮儿儿 阅读(153) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉树中和为某一值的路径 * 描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 * 方案: * * */ 阅读全文
posted @ 2018-11-16 15:18 弄潮儿儿 阅读(116) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉搜索树的后序遍历序列 * 描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同 * 二叉搜索树,又叫二叉排序树,它或者是一颗空树,或者具有以下性质: * 若他的左子树都不为空,则左子树上所 阅读全文
posted @ 2018-11-16 15:17 弄潮儿儿 阅读(119) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:从上往下打印二叉树 * 描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * 方案: * 思路:使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中, * 访问该元素的左右节点,再将左右节点加入到队列中来。 * * */ 阅读全文
posted @ 2018-11-16 15:16 弄潮儿儿 阅读(136) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉树的镜像 * 描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 * 解决方案: ①注意特殊输入的判断;②交换根结点的左右孩子结点③递归访问所有的结点(每个结点的左右孩子交 阅读全文
posted @ 2018-11-16 15:15 弄潮儿儿 阅读(110) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:重建二叉树 * 描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 * 解决方案:思 阅读全文
posted @ 2018-11-16 15:13 弄潮儿儿 阅读(139) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:树的子结构 * 描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) * 解决方案:思路: 1.是子树分为三种情况①当前结点已经是子树了,②当前结点左孩子存在子树③当前结点右孩子存在子树 * 2.判断是否是子树必须满足:结点值相等,左右节 阅读全文
posted @ 2018-11-16 15:13 弄潮儿儿 阅读(203) 评论(0) 推荐(0) 编辑
摘要: /** *题目: 调整数组顺序使奇数位于偶数前面 *描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 *解决方案: * */ 阅读全文
posted @ 2018-11-16 15:10 弄潮儿儿 阅读(125) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:顺时针打印矩阵 * 描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: * 1 2 3 4 * 5 6 7 8 * 9 10 11 12 * 13 14 15 16 * 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9, 阅读全文
posted @ 2018-11-16 15:10 弄潮儿儿 阅读(238) 评论(0) 推荐(0) 编辑
摘要: /** *题目:数值的整数次方 *描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 *解决方案: 求次方得考虑exponent的范围 * ①等于0,怎都等于0; * ②大于0,相当于exponent个base相乘 * ③小于0,相当 阅读全文
posted @ 2018-11-16 15:09 弄潮儿儿 阅读(124) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二进制中1的个数 * 描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 * 解决方案: ①如果确定是正数:将这个整数target的二进制与1进行与运算,如果每次结果等于1,那么这个target的二进制最右边就为1,可以定义一个变量count来进行记录二进制中1的 阅读全文
posted @ 2018-11-16 15:08 弄潮儿儿 阅读(139) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:栈的压入、弹出序列 * 描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 * 例如序列1,2,3,4,5是某 栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该 阅读全文
posted @ 2018-11-16 15:07 弄潮儿儿 阅读(200) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:包含min函数的栈 * 描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 * 注:用data来保存数据,用另一个栈min保存依次入栈最小的数 * 每次入栈的时候,如果入栈的元素比min中的栈顶元素小或等于则入栈,否则不入栈。 * 方案: * */ 阅读全文
posted @ 2018-11-16 15:06 弄潮儿儿 阅读(109) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:用两个栈实现队列 * 描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * 解决方案:方法一:一个作为存储用,一个作为弹出用 * */ 阅读全文
posted @ 2018-11-16 15:05 弄潮儿儿 阅读(96) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:字符串的排列 * 描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 * 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 * 输入一个字符串,长度不超过9(可能有字符重复) 阅读全文
posted @ 2018-11-16 15:04 弄潮儿儿 阅读(139) 评论(0) 推荐(0) 编辑