随笔分类 -  iOS

摘要:如图所示,所有 iOS 音频技术都是基于 audio units。此处显示的更高级别的技术,如 Media Player,AV Foundation,OpenAL,AudioToolbox,是对 audio units 的封装,为特定的任务提供专用且简化的 API。 如在可控性、性能、灵活性有非常高 阅读全文
posted @ 2018-02-08 10:42 WCCW 阅读(5599) 评论(0) 推荐(3) 编辑
摘要:关于 "Audio Unit" iOS 提供了音频处理插件,支持混音,声音均衡,格式转化,以及用于录音,回放,离线渲染,实时对话的输入输出。可以动态载入和使用这些强大而灵活的插件,在 iOS 应用中这些插件被称为 audio units。 Audio units 通常在被称为 audio proce 阅读全文
posted @ 2018-02-08 10:40 WCCW 阅读(1248) 评论(0) 推荐(0) 编辑
摘要:PCM编码 PCM就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。简而言之PCM就是对模拟信号先抽样,再对样值幅度量化,编码的过程。例如听到的声音就是模拟信号,然后对声音采样,量化,编码产生数字信号。相对自然界声音信号,任何音频编码都是有损的,在计算机应用中, 阅读全文
posted @ 2018-01-11 13:41 WCCW 阅读(5626) 评论(0) 推荐(1) 编辑
摘要:libyuv是Google开源库,可用作图像数据格式的转换,比如视频流编解码时格式的转换,YUV数据转化RGB等 libyuv静态库 为了方便使用,已经将libyuv源代码打包成了iOS静态库, "libyuv静态库" libyuv使用 下面以nv12(yuv420sp)转化为I420(yuv420 阅读全文
posted @ 2018-01-09 16:31 WCCW 阅读(865) 评论(0) 推荐(0) 编辑
摘要:AVPacket注解 AVPacket 是一个结构体,存储压缩数据。可作为编码器的输出,解码器的输入。 对于 Video 一般包含一个压缩帧,对于 Audio 可能包含多个压缩帧。 编码器允许输出空 packets,没有包含压缩数据,仅包含附加数据,比如在编码结尾更新参数。 AVPackets 是 阅读全文
posted @ 2018-01-05 23:51 WCCW 阅读(764) 评论(0) 推荐(0) 编辑
摘要:FFmpeg编解码 FFmpeg支持绝大多数视频编解码格式,如何遍历FFmpeg编解码器? 编解码器以链表形式存储,使用av_codec_next() 函数可以获取编解码器指针,当参数为NULL时,获取第一个编解码器指针,循环遍历,获取所有编解码器信息 AVCodec登场 遍历FFmpeg编解码器的 阅读全文
posted @ 2018-01-04 12:47 WCCW 阅读(2646) 评论(0) 推荐(0) 编辑
摘要:第一步:下载gas-preprocessor 1.1 下载 https://github.com/libav/gas-preprocessor 1.2 拷贝 gas-preprocessor.pl 到 /usr/sbin 目录,命令为:sudo -r gas-preprocessor.pl /usr 阅读全文
posted @ 2017-12-23 14:35 WCCW 阅读(2059) 评论(0) 推荐(0) 编辑
摘要:一、问题 使用cocoapods搜索某些库时,搜索到的版本低于Github上面的版本,这样会导致一些问题。例如我在使用一个LTNavigationBar这个库时,在我升级到iOS10的时候,会导致导航栏有些内容显出不出来,在最新的LTNavigationBar版本上已经修复这个问题。但是我使用coc 阅读全文
posted @ 2016-09-20 12:50 WCCW 阅读(397) 评论(0) 推荐(1) 编辑
摘要:一、情景描述: 后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况。 二、尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8StringEncoding,NSASCIIString 阅读全文
posted @ 2016-09-13 17:59 WCCW 阅读(4797) 评论(0) 推荐(0) 编辑
摘要:数据库操作是我们使用十分频繁的一份操作,在iOS中如何使用数据库,使用什么数据库,是我们不得不考虑的一个问题。 小型数据我们可以使用plist文件,或者NSUserDefaults存储。数据量比较多得情况下,我们可以使用sqlite或者Core Data. 在此先介绍一下sqlite的系统API,然 阅读全文
posted @ 2015-12-03 15:03 WCCW 阅读(734) 评论(1) 推荐(1) 编辑
摘要:一、CALayer 1.CALayer CALayer属于QuartzCore.framework框架,从Xcode5起我们不必要手动导入这个库。 CALayer我们可以简单理解为一个层。当我们绘制的UIView能在屏幕显示,其实质是因为这个层。 我们下面通过代码理解一下CALayer的基本用法。 阅读全文
posted @ 2015-10-31 18:35 WCCW 阅读(964) 评论(0) 推荐(0) 编辑
摘要:Core Data基础 Core Data是一个API集合,被设计用来简化数据对象的持久存储。 在此先不普及概念,先通过一个简单的案例使用来感受一下Core Data的精妙之处。 在创建工程的时候勾选Use Core Data. 创建好项目,我们可以看到在左侧任务栏多了一个CoreDataDemo. 阅读全文
posted @ 2015-10-22 22:04 WCCW 阅读(921) 评论(1) 推荐(2) 编辑
摘要:声明:当时觉得这篇文章写的比较好,在此做了copy,原文分为上下篇,在此合为了一篇,原文链接地址是:原文地址 《招聘一个靠谱的 iOS》—参考答案(上,下) 说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:《招聘一个靠谱的 iOS》,其中共55题,除第一题为纠错题外,其他54道均为简答题。 阅读全文
posted @ 2015-10-20 13:21 WCCW 阅读(878) 评论(0) 推荐(4) 编辑
摘要:内存管理是开发软件中重要的一个课题。如果内存管理不当,轻者内存泄露,重者程序崩溃。 下面重要讲述一下iOS的ARC(Automatic Reference Counting))机制。 ARC的历史由来 在iOS1.0的时候,苹果公司没有开放手机开发接口,不存在iOS开发者这个概念。 在iOS2.0的 阅读全文
posted @ 2015-10-19 15:48 WCCW 阅读(1538) 评论(5) 推荐(0) 编辑
摘要:在iOS开发中,地图算是一个比较重要的模块。我们常用的地图有高德地图,百度地图,谷歌地图,对于中国而言,苹果公司已经不再使用谷歌地图,官方使用的是高德地图。下面将讲述一下百度地图开发过程中的一些小的知识点。 对于如何配置百度地图的开发环境,在此不再讲述,具体可以参考:http://developer 阅读全文
posted @ 2015-10-17 15:06 WCCW 阅读(1883) 评论(0) 推荐(0) 编辑
摘要:跨界面传值 从一个界面将一个结果值传到另一个界面,这个是我们在开发过程中非常常见的一个问题。传值本身并不是一个太复杂的问题,在此主要简述一下常用的传值方法。 我们传值常用的方法主要有四种: 1.属性传值 2.代理传值 3.block传值 4.通知传值 5.KVO 对象传值 属性传值: 属性传值应该来 阅读全文
posted @ 2015-10-13 20:13 WCCW 阅读(3088) 评论(1) 推荐(1) 编辑
摘要:单例应用场合 在iOS的生命周期内,有时候我们只需要某个类的一个实例。 例如UIApplication, UIAccelerometer, NSUserDefaults, NSNotificationCenter, NSFileManger, NSBundle这些都是单例类的典型代表。 如何创建单例 阅读全文
posted @ 2015-09-29 17:43 WCCW 阅读(860) 评论(1) 推荐(0) 编辑
摘要:多线程之GCD(grand central dispatch)中心调度 为了简化多线程的操作,iOS为我们提供了GCD来实现编程。 使用GCD只要遵守两个步骤即可: 串行队列(同步提交,异步提交) 创建一个串行队列: 向队列提交任务,包括同步和异步: 上面的代码在串行队列中提交了四个任务,同步提交, 阅读全文
posted @ 2015-09-29 08:50 WCCW 阅读(786) 评论(0) 推荐(2) 编辑
摘要:多线程之NSOperation: 多线程的优点: 多线程的缺点: 使用NSOperation和NSOperationQueue实现多线程 注意: NSInvocationOperation NSInvocationOperation创建的对象默认实在主线程中执行。 将操作放入队列中,在分线程中执行。 阅读全文
posted @ 2015-09-28 15:15 WCCW 阅读(802) 评论(0) 推荐(0) 编辑
摘要:OAuth授权 OAuth授权分四步: 第一步,应用向服务提供方申请请求令牌(Request Token),服务提供方验证通过后将令牌返回。这个步骤由于涉及到应用帐号密码,在应用的服务端发起,所以这个步骤对用户透明。 第二步,应用使用请求令牌让浏览器重定向到服务提供方进行登录验证和授权。服务提供方校 阅读全文
posted @ 2015-09-22 16:10 WCCW 阅读(1622) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示