简单介绍 在iOS平台,所有音频框架的底层都是基于AudioUnit实现的。比如熟悉的AVFoundation,AudioToolBox等等,这些框架都封装了AudioUni...
FFmpeg库的基本组成 libavcodec: 提供各种音频,视频,字幕等编码和解码功能。 libavformat: 用于音视频封装格式的生成和解析, 包括获取解码所需信息...
Mac上的集成主要是通过 brew install ffmpeg来安装,安装后可以通过命令行来使用。 安装完成后,输入ffmpeg命令查看输出内容来判断是否安装成功。 主要的...
本文中涉及到的一些编码,图像等的具体处理在代码上的体现可查看:[总结]视音频编解码技术零基础学习方法 基本概念-颜色 RGB和YUV:图像常见的两类数字化表达。 RGB是基于...
//www.greatytc.com/p/455508a7c17b 之前一直有一个误区,认为协议和分类中不能用@property 形式声明属性,现在做一下总结: i...
1.什么时候被调用 initialize在类第一次接收到消息时调用,也就是objc_msgSend()。 具体的调用过程如下:initialize方法通过objc_msgSe...
1.什么时候被调用 类或者分类一旦被加载到运行时,就会调用这个方法。具体的调用逻辑如下:objc的的初始化方法 _objc_init中 ,最后一行 _dyld_objc_no...
attribute((objc_subclassing_restricted)) 标识被修饰的类不能被其他类继承。通常写在.h文件中类的声明前 如:attribute((ob...
参考内容: Objective-C 消息发送与转发机制原理 首先来看下消息转发的整体流程图 当一个对象的方法被调用的时候,首先在对象所属的类或者元类中查找方法,如果没有则在其...
对于oc对象模型,我们清楚在运行时一个类的对象可以通过它自身的isa指针找到它所归属的类,比如一个NSString类的实例对象aaa,调用它的一个实例方法 [aaa sub...
Category如何实现的? category的初始化 声明了一个类,添加了category,里边写了四个方法,分别是test,test1,test2,test3,clang...
参考内容:Objective-C消息发送与转发机制原理 首先看下objc_msgSend的汇编入口。 UNWIND _objc_msgSend, NoFrame:定义了一些段...
isa 在objc.h的头文件,关于objc_object结构体的声明中,我们可以看到isa是一个Class类型的指针,指向的是对象所属于的类。如果这个对象是一个类对象,那么...
OC对象的内存分布简单来说就是下图所示 最先是isa指针,指向它所属的类,然后按照继承链由高到低的排列顺序,列出他们的成员变量。 所有父类的成员变量和自己的成员变量都会存放在...
objc_object定义 在OC中每个对象都是一个结构体,结构体中都包含一个isa_t类型的成员变量,位于成员变量的第一位。 objc_class定义 objc_class...
//www.greatytc.com/p/4fb2d7014e9e iOS类的加载 runtime加载过程简述 runtime在加载的时候 ,通过dyld的一些操作...