自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Android音视频架构-学习路线规划

接触Android音视频这一块已经有一段时间了,跟普通的应用层开发相比,的确更花费精力。期间为了学习音视频的录制,编码,处理也看过大大小小的几十个项目。总体感觉就是知识比较零散,对刚入门的朋友比较不友好。所以才萌生了写这个Android音视频系统文章的想法,虽然给自己挖了一个深坑,但是相信坚持下来必定能很好的提升自己。另一方面,系统的学习效果肯定要远好于零零散散的补充知识先来看我自己总结的一个...

2020-03-14 16:56:05 3401 1

原创 【无标题】

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

2021-12-27 15:59:27 103

原创 Android音视频编辑器架构图与分析

目前市面上音视频交互框架基本上分两种,一个是类似抖音快手那样的从相机交互界面出发的,往相机帧加美颜,贴纸等各种特效的交互,另一个是类似剪映,必剪等更专业一点的视频编辑软件,它增加了多轨道,转场等一些更复杂的效果。不过万变不离其宗,都是解出视频帧,然后对视频帧做特效,然后合成视频这一流程。接下来我们就来讲讲整个流程中每个阶段我们会用到什么技术1. 解码出视频帧与音频帧:这里有两个技术方案,用FFmpeg软解和用MediaCodec硬解。用FFmepg软解的话基本都是在FFmpeg的...

2021-12-14 00:52:09 4180

原创 android AudioRecord 录制音频

AudioRecord相较与MediaRecorder拥有更高的灵活性,它的录制输出是音频的原始数据。在录制之前,AudioRecord需要配置几个参数。 public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)分别是...

2020-03-25 22:33:40 675 1

原创 MediaRecorder录制音频

Android音视频架构与学习路线MediaRecorder是Android提供的简单的录制音视频的API,它只能以文件的形式输出。这里我们要讲的是它的录音功能。比较简单,开始录制前需要配置几个参数private void initRecorder() { try { mRecorder = new MediaRecorder(); ...

2020-03-23 22:45:32 827 1

原创 Android音视频开发-音频篇-音频的原理

致知在格物,物格而后知至。所谓致知在格物者,言欲致吾之知,在即物而穷其理也 意思讲的是要探究事物的原理,从而获得智慧。 写代码也是如此,只有了解其中的原理...

2020-03-14 17:42:06 2124 2

原创 j2EE连接数据库的增删改查操作

String sql ="select * from users where name=? and password=?"; PreparedStatement pstmt = null; Connection con; //驱动程序名 String driver = "com.mysql.jdbc.Driver"; //URL指向要访问的

2016-03-15 21:50:55 7148

原创 java希尔排序--ShellSort

希尔排序的原理:根据需求,如果你想要结果从大到小排列,它会首先将数组进行分组,然后将较大值移到前面,较小值移到后面,最后将整个数组进行插入排序,这样比起一开始就用插入排序减少了数据交换和移动的次数,可以说希尔排序是加强版的插入排序拿数组5, 2, 8, 9, 1, 3,4来说,数组长度为7,当increment为3时,数组分为两个序列5,2,8和9,1,3,4,第一次排序,9和5比较,1和2比较,

2016-01-15 11:59:29 424

原创 java编程知识--初始化

java尽力保证所有变量在使用前都能得到恰当的初始化 1:对于方法的局部变量,如果没有初始化,会在编译时出现错误 如void f(){ int i; i++; //Error }2:如果是类的数据成员,基本数据类型会初始化为默认值,引用会初始化为null然而如果你用类的构造器去初始化数据成员,自动初始化还是会先执行,如public class Counter{int i;Cou

2015-12-02 01:42:25 430

原创 dialog式的Activity

默认的activity都是全屏的,如果activity是以dialog的形式与用户交互比普通的dialog更方便,效果也更好。主要是dialog式的activity可以自定义布局,位置也可以自由改变。先定义一个style :MyDialogTopRight<?xml version="1.0" encoding="utf-8"?><resources> <style name="MyDia

2015-12-01 01:38:16 968 1

原创 android基础--AsyncTask

AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,需要多个异步操作是handler比较适合。AsyncTask适用一些简单的异步处理。 一个理解 AsyncTask 的例子:main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.

2015-11-16 22:36:45 411

原创 android基础--Handler,Loop,MessageQueue

Handler可以声明在主线程可以声明在新开的线程,只不过在新开的线程定义handler要自己创建一个Looper对象,并通过prepare()启动它。在ui线程中系统已经初始化了一个Looper对象。先看定义在主线程的情况: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

2015-11-16 02:20:14 294

原创 android四大组件之Service

service与activity都是从Context派生出来。 先看service的生命周期: 通过代码看service的几种形式:1首先,最简单的形式直接启动service;public class MyService extends Service { public MyService() { } @Override public IBinder onBind(I

2015-11-13 17:23:02 282

原创 java设计模式--原型模式(Prototype)

Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建原型模式实际上非常简单,只是要实现Cloneable接口。看代码public class Sheep implements Cloneable,S

2015-11-05 23:21:01 571

原创 java设计模式--装饰者模式(Decorater Pattern)

装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象以下情况使用Decorator模式 1. 需要扩展一个类的功能,或给一个类添加附加职责。 2. 需要动态的给一个对象添加功能,这些功能可以再动态的撤销。 3. 需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。 4. 当不能采用生成子类

2015-11-03 21:24:46 2489

原创 java设计模式---享元模式

内存属于稀缺资源,不要随便浪费,如果有很多个相同或者相似的对象,我们就可以通过享元模式来节省内存。 享元对象能做到共享的关键是区分了内部状态和外部状态。 内部状态:可以共享,不会随外部状态的改变而改变。 外部状态:不可以共享,会随外部状态的改变而改变。以围棋的棋子为例子,其大小形状相同,颜色分为黑白,只有位置信息不同。 看代码:interface ChessFlyWeight {

2015-11-01 21:13:15 296

原创 java设计模式---桥接模式

上代码 1不使用桥接模式的情况:类非常多且繁琐public interface Computer { void sale();}class Desktop implements Computer { @Override public void sale() { System.out.println("销售台式机!"); }}class Lapto

2015-10-30 21:05:03 318

原创 Gifview的使用

GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片使用方法:1-把GifView.jar加入你的项目。2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:

2015-07-16 21:17:34 448

原创 归并排序和快速排序的算法实现

直接上代码 归并排序://将有二个有序数列a[first...mid]和a[mid...last]合并。void mergearray(int a[], int first, int mid, int last, int temp[]){ int i = first, j = mid + 1; int m = mid, n = last; int k = 0;

2015-06-21 20:07:57 593

原创 android之asset资源

上几张图片: 来个代码: 其中test.txt.就是asset文件夹里的文件

2015-06-10 21:16:37 943

原创 Android之Broadcast与BroadcastReceiver

本文原文链接http://www.cnblogs.com/playing/archive/2011/03/23/1992030.html BroadcastReceiver:在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast

2015-06-10 17:18:23 396

原创 一些算法的基本概念

最优二叉树的概念 1.树的路径长度  树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL)   结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。   结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。   树的带权

2015-06-06 01:25:25 523

原创 动态规划的Warshall和Floyd算法:

动态规划的Warshall和Floyd算法: Warshall算法 简单的讲就是 伪代码: 代码:package Section8;/*第八章 动态规划 有向图传递闭包的Warshall算法*/public class Warshall { /** * @param args */ public static void main(String[] a

2015-06-04 21:10:07 837

转载 大数算法

网上代码:实现两个超大数值的相乘public class MyMultiply { /** * @param args */ public static void main(String[] args) { // System.out.println("Hello world"); //String str1 = "

2015-05-12 12:19:45 374

原创 java 数据结构部分

List: 所有已知实现类: AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector; 来说一下stack和vector,stack: 先看下api里的

2015-05-08 21:38:08 407

原创 Java集合架构--Set接口的几个具体实现类

**Java集合架构**——Set的几个实现接口的具体类

2015-05-08 01:02:15 1119

空空如也

空空如也

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

TA关注的人

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