首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
zhonglaoban
掘友等级
多媒体研发
|
字节跳动
stay hungry,stay foolish
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
330
文章 53
沸点 277
赞
330
返回
|
搜索文章
赞
文章( 53 )
沸点( 277 )
iOS底层原理总结 - 探寻KVO本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。 上述代码中可以看出,在添加监听之后,age属性的值在发…
iOS底层原理总结 - 关联对象实现原理
答:不能直接添加成员变量,但是可以通过runtime的方式间接实现添加成员变量的效果。 使用RunTime给系统的类添加属性,首先需要了解对象与属性的关系。我们通过之前的学习知道,对象一开始初始化的时候其属性为nil,给属性赋值其实就是让属性指向一块存储内容的内存,使这个对象的…
在iOS中如何使用OpenGL画一些简单的图形
它和C语言类似,可以声明一些变量(a_Position),有一个main的入口函数,有系统内置的变量(gl_Position)。 和我们的代码一样,要使用这些GLSL,还需要编译它们,将它们加载到内存中。整个加载、编译过程有这3步: 编译好后,我们还需要创建一个管道,将内存中的…
Runtime中的 isa 结构体
有一定经验的iOS开发者,或多或少的都听过Runtime。Runtime,也就是运行时,是Objective-C语言的特性之一。日常开发中,可能直接和Runtime打交道的机会不多。了解Runtime,有助于开发者深入理解Objective-C这门语言。 使用Objective…
对iOS中runloop使用场景的一次总结
这里大部分是从各个技术博客中参考而来,部分场景添加了一些实践代码。 使用CFRunLoopPerformBlock函数, 可以指定在runloopMode下执行block任务。不过一般不这样使用。 autoreleasepool是以栈为节点, 双向链表构建的一个数据结构。aut…
使用AVCaptureSession录制视频
在iOS上,音频有很多种录制方法。但是视频录制,只有AVCaptureSession这一种,它可以实现iPhone相机上的大部分功能。包括对焦、曝光、设置分辨率等多种功能。 录制视频和处理视频数据有一些耗时操作,我们这里创建一个队列。然后在另一个线程中处理。 获取音频采集设备,…
使用AVCaptureSession录制音频
在iOS上,AVCaptureSession可以录制音频,使用起来简单。但是不能控制音频采样率、采样间隔等,不支持回音消除。 录制音频和处理音频数据有一些耗时操作,我们这里创建一个队列。然后在另一个线程中处理。 获取音频采集设备,为AVCaptureSession添加音频输入和…
Audio Unit 实现音频播放功能
获取Audio Unit实例,我们有两种获取方式,通过AUGraph获取,通过AudioComponent获取。 设置Audio Unit的属性,告诉系统我们需要使用Audio Unit的哪些功能以及需要采集什么样的数据。 开始播放和停止播放。 从回调函数中将音频数据传给播放器…
使用Audio Unit 录制音频
获取Audio Unit实例,我们有两种获取方式,通过AUGraph获取,通过AudioComponent获取。 设置Audio Unit的属性,告诉系统我们需要使用Audio Unit的哪些功能以及需要采集什么样的数据。 开始录制和结束录制的控制。 从回调函数中取得音频数据。…
AudioUnit中ExtAudioFile的使用
CoreAudio中和读写音频文件有关的有ExtAudioFile和AudioFile,这里介绍ExtAudioFile读写音频文件的相关API和操作。 pcm、aac、opus等,代表音频的原始数据,是音频的数字信号。 aif、caf、mp3等,文件存储可以压缩数据进行存储如…
下一页
个人成就
文章被点赞
28
文章被阅读
33,828
掘力值
825
关注了
100
关注者
19
收藏集
1
关注标签
22
加入于
2019-03-22