- 博客(16)
- 收藏
- 关注
原创 iOS开发——系统相册操作
在我们的应用中使用图片、视频,尤其是大量的图片、视频的时候。如果存储在沙盒中,会使得该应用的沙盒文件越来越大。所以,一些图片、视频资源可以放到系统相册中保存。这样也有利于用户查看该类资源。 但是,资源存储在了系统相册,我们对其的访问就受到了一定的限制。具体解决办法如下: 1.把视频、图片存储在系统相册: ALAssetsLibrary *library = [[ALAssetsLibrary
2015-06-03 15:50:22 503
原创 MP4视频格式
MP4视频文件封装格式是基于Quick Time容器格式定义的,因此参考QuickTime的格式定义对理解MP4文件格式很有帮助。MP4文件格式是一个十分开放的容器,几乎可以用来描述所有的媒体结构,MP4文件中得媒体描述与数据是分开的,并且媒体数据的组织也很自由,不一定要按照时间顺序排列,甚至媒体数据可以直接引用其他文件。同时,MP4也支持流媒体。MP4目前被广泛用于封装h.264视频和AAC音频
2014-12-25 17:35:15 680
原创 openGL ES 2.0开发流程
一:添加必须的framework(框架) OpenGLES.frameworks和QuartzCore.framework 二:修改OpenGLView.h 引入OpenGl的Header,创建一些后面会用到的实例变量 CAEAGLLayer* _eaglLayer; EAGLContext* _context; GLuint _colorRenderBuffer;
2014-12-24 18:43:06 431
原创 【iOS开发】网络协议之HTTP协议
从网络层次上来讲,HTTP是面向应用层的协议。它定义了应用怎样向万维网服务器请求资源,以及服务器怎样把资源传送给应用。它是网络上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。在有关于网络的开发中,该协议尤其重要。 HTTP协议发出的请求信息包括以下几个: 1.请求行(例如GET/images/logo.gif HTTP/1.1,表示从/images目录下请求logo.g
2014-12-03 09:07:03 557
原创 iOS开发截取视频任意帧图片——MPMoviePlayerController
在视频播放方面,苹果公司已经封装了很好的播放器供开发者使用。 但有的时候又会出现一些对视频编辑的需求,苹果公司对于这样的问题也做了相应的处理接口——MPMoviePlayerController就是其一 在iOS 6.0之前,我们只需要使用接口: - (UIImage *)thumbnailImageAtTime:(NSTimeInterval)playbackTime timeOption
2014-12-01 13:37:54 2072
原创 AVAudio ToolBox框架下音频播放
对于简单的、无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务。你可以使用AudioservicesPlaySystemSound函数来播放简单的声音。要遵守以下几个规则: 1.音频长度小于30秒 2.格式只能是PCM或者IMA4 3.文件必须被存储为.caf、.aif或者.wav格式 4.简单音频不能从内存播放,而是只能是硬盘文件 除了对简单音频的限制外
2014-11-19 12:51:11 709 1
原创 CocoaPods的安装及使用
CocoaPods的安装及使用 CocoaPods介绍 在iOS开发过程中,我们不可避免地使用第三方类库,但是类库的循环引用、更新等用手动操作的话会很费时和费力,所以,我们需要一款类库管理工具来管理我们使用的第三方类库。CocoaPods是iOS开发中最常用的类库管理工具。而且,绝大多数开源类库都支持CocoaPods。 CocoaPods的安装 1.CocoaPods的依赖
2014-11-07 16:25:23 463
原创 AVAudioPlayer本地音乐播放
// // QY #import "QYViewController.h" #import @interface QYViewController () @property (nonatomic, strong) UIButton *startOrPauseButton; @property (nonatomic, strong) UIButton *stopButton; @prope
2014-10-20 22:36:57 622
原创 程序和进程之间的区别
1.程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它使程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。反映了一个程序在一定的数据集上运行的全部动态过程。 2.进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的
2014-10-20 09:05:07 572
原创 git的基本操作
Gi 概念: 工作区(working directory):就是用户在电脑里能看到的目录 版本库(repository):工作区有一个隐藏目录“.git”,这个不算工作区,而是git的版本库。 git init 创建一个git仓库并初始化 git add 添加一个文件到git暂存区,进行跟踪 git commit 提交添加的文件进行追踪 git log 查看变更日志 g
2014-10-20 08:51:33 408
原创 C语言——文件读写操作
1. 字符读写函数 字符读函数 — fgetc 格式: fgetc(FILE *stream) 从文件指针stream所指的文件中读取一个字符,并返回该字符 字符写函数 — fputc 格式: 将给定字符c写入到文本指针stream所指向的文件中 2. 按行读写函数 按行读函数 — fgets 格式: 从文件指针stream所指的文件中读取最多size - 1个字符,并储存在
2014-10-20 08:40:35 562
原创 block块的一些简单用法
- (void)btnClickBlock:(void(^)())block { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.0]; block(); [UIView commitAnimations]; } - (void)o
2014-10-19 21:32:24 369
原创 Object/C编程内存管理
内存管理的范围: 任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效 对象的基本结构 1.每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”,即有多少人正在使用这个OC对象 2.每个OC对象内部专门有4个字节的存储空间来存储引用计数器 引用计数器的作用 1.当使用aloo、new或
2014-10-19 21:28:55 431
原创 gcc命令总结
1.gcc支持的一些源文件的后缀 .c C语言源代码文件 .a 是由目标文件构成的档案库文件 .C .cc或.cxx是C++源代码文件 .h 是程序所包含的头文件 .i 是已经预处理过的C源代码文件 .ii 是已经预处理的C++源代码文件 .m 是Objective-C源代码文件 .o 是编译后的目标文件 .s 是汇编后语言源代码文件 .S 是经过预处理的汇编语
2014-10-19 20:44:57 307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人