AVPlayer研究相关笔记(一)

一,OS系统中音频的四种播放方式:

1)AVAudioPlayer在框架里面 使用简单方便,但只能播放本地音频,不支持流媒体播放,每一个audioplayer对象就是一段音频

2)AVPlayer也在 在框架里面 iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接口较少,处理音频不够灵活

3)系统声音(需导入引入AudioToolbox框架)  在框架里面 音频数据文件可分为压缩和非压缩的存储类型。压缩的音频文件虽然文件体积较小(相对于非压缩的),但需要耗费处理器的性能进行解压和解码。如果音频文件体积较小,压缩后的音频文件,也不会节省较大的磁盘空间。像这一类小型非压缩的文件可以注册成为系统声音 格式为:caf/wav/aiff格式,且时长小于30s

4)音频队列(AudioQueue)  音频队列主要处理流媒体播放,提供了强大且灵活的API接口(C函数的接口),但处理起来较为复杂


  准备做一个音频播放组件,综合考虑选择AVPlayer开发。在第一版开发中遇到的问题

(1)  CMTimeMake 和 CMTimeGetSeconds

首先来看CMTimeMake

AVPlayer研究相关笔记(一)_第1张图片

关于时间的一些宏

#define NSEC_PER_SEC 1000000000ull

#define USEC_PER_SEC 1000000ull

#define NSEC_PER_USEC 1000ull

NSEC:纳秒。

USEC:微秒。

SEC:秒

PER:每

1 NSEC_PER_SEC,每秒有多少纳秒。

2 USEC_PER_SEC,每秒有多少毫秒。(注意是指在纳秒的基础上)

3 NSEC_PER_USEC,每毫秒有多少纳秒。

你可能感兴趣的:(AVPlayer研究相关笔记(一))