自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【音视频开发笔记】音视频基础

声音是振动产生的声波,通过介质(气体、固体、液体)传播并能被人或动物听觉器官所感知的波动现象。我们通常听见的声音,是由于物体振动导致空气分子按照一定的频率产生疏密相间的排列而传播。于是我们可以取一个单点,来测量这个点的气压随时间变化,横轴表示时间,纵轴表示气压,就可以得到一张波形图。气压距离标准值偏差越大,说明振动越剧烈,所以振幅越大的波形表示声音越大,即响度越大。波形越紧密说明单位时间内振动的次数越多,频率越高,即音调越高。对于上图这样单频率的振动,通过波形图来看声音的相关信息是很简单明了的。而实际

2022-06-02 10:53:11 664

原创 iOS 基于 AVFoundation 制作的用于剪辑视频项目

写在前面最近做了一个剪辑视频的小项目,踩了一些小坑,但还是有惊无险的实现了功能。其实 Apple 官方也给了一个 UIVideoEditController 让我们来做视频的处理,但难以进行扩展或者自定义,所以咱们就用 Apple 给的一个框架 AVFoundation 来开发自定义的视频处理。而且发现网上并没有相关的并且比较系统的资料,于是写下了本文,希望能对也在做视频处理方面的新手(比如我)能带来帮助。项目效果图项目的功能大概就是对视频轨道的撤销、分割、删除还有拖拽视频块来对视频扩展或者回退的

2021-12-07 19:59:53 4695 2

原创 Objective-C block 底层详解

笔者前几天做了一道笔试题:默认情况下 block 是不能修改外面的 auto 变量的,解决办法? 思索了好久才想起可以用 __block 或者 static 修饰符来修饰 auto 变量。看来有必要好好总结一下 block 的相关知识。1. block 的使用1.1 什么是 block ?块,封装了函数调用以及调用环境的 OC 对象。 block 的声明 // 1.@property (nonatomic, copy) void(^myBlock1)(void);// 2.Blo

2021-09-14 16:41:46 434 2

原创 Effective Objective-C 2.0阅读小结

第1章 熟悉Objective-C第1条:了解Objective-C语言的起源Objective-C为C语言添加了面向对象的特性,是其超集。Objective-C使用动态绑定的消息结构,也就是说在运行时才会检查对象类型。接受一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定。第2条:在类的头文件中尽量少引入其他头文件在编译一个需要使用B类的A类文件时,当不需要知道B类的全部细节,只需要在知道B类的类名就好。可以使用“向前声明”(forward declaring)该类

2021-08-05 02:25:51 942 1

原创 ios中部分关于分类,扩展,属性,深浅拷贝的一些问题

1.分类都有哪些使用场合?(1)可以减少单个类的体积,降低耦合性,同一个类可以多人进行开发(2)可以为系统类添加分类进行拓展(3)模拟多继承(4)把静态库的私有方法公开2.分类当中都可以添加哪些内容?分类中只能添加方法,不能增加属性(因为分类的结构体中没有属性列表),原则上讲他只能添加方法,不能添加属性(成员变量),实际上他是可以通过其他方式来添加属性,比如runtime。但是使用runtime也只能实现setter和getter方法,而没有_成员变量,如果调用_成员变量...

2021-07-24 22:39:04 948 2

原创 iOS中分类与扩展的用途和区别

1.分类(category)的作用1.1作用:可以在不修改原来类的基础上,为一个类扩展方法。1.2最主要的用法:给系统自带的类扩展方法。具体场景:(想给UIViewController的所有子类添加一个方法,如果一个一个写工程量大而且不方便维护)2.分类中能写什么2.1 分类中只能添加方法,不能增加属性(因为分类的结构体中没有属性列表),原则上讲他只能添加方法,不能添加属性(成员变量),实际上他是可以通过其他方式来添加属性,比如runtime。但是使用runtime也只能实现setter和ge

2021-07-20 22:12:20 987

原创 iOS中pod install 和 pod update的区别

pod installpod install一般是你第一次想要为项目添加pod的时候使用的,它同样也使用在你为Podfile文件添加或移除pod库的时候。每次pod install命令运行的时候,pod install会为每一个它安装的pod库在Podfile.lock文件中写入其版本号。Podfile.lock文件追踪每一个安装的pod库的版本号,并锁定这些版本号。 当你运行pod install时,它将只解决不在Podfile.lock中的pod库依赖关系 对于在Podfile.lock文.

2021-07-18 22:10:52 1288 4

空空如也

空空如也

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

TA关注的人

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