一、iOS 音频
1)AVAudioPlayer
在<AVFoundation/AVFoundation.h>框架里面
使用简单方便,只能播放本地音频,不支持流媒体播放,每一个audioplayer对象
就是一段音频
2) AVPlayer
1.在<AVFoundation/AVFoundation.h>框架里面
2.iOS 4.0以后,可使用AVPlayer播放本地音频和支持流媒体播放,
但提供接口较少,处理音频不够灵活
3.播放网络音乐和网络视频最常用的,可以自己缓存网络数据,然后播放
4.在播放视频时必须创建一个AVPlayerLayer用来展示视频,如果播放音乐,
声音就不用创建这个对象。
3)系统声音 在<AudioToolbox/AudioToolbox.h>框架里面
音频数据文件分为压缩和非压缩的存储类型。压缩的音频文件虽然文件体积
较小(相对于非压缩的),但需要耗费处理器的性能进行解压和解码。
如果音频文件体积较小,压缩后的音频文件,也不会节省较大的磁盘空间。
像这一类小型非压缩的文件可以注册成为系统声音
格式为:caf/wav/aiff格式,且时长小于30s
4)音频队列服务(Audio Queue Services)
在AudioToolbox框架中的音频队列服务,是用来播放网络流媒体的
一个框架,它完全可以做到音频播放和录制音频队列主要处理流媒体播放,
提供了强大且灵活的API接口(C函数的接口),但处理起来较为复杂
二、iOS视频
1)AVPlayer
也可以播放视频
2)AVPlayerViewController
//隶属AVKit框架,iOS8.0后可用。一个封装程度高的播放框架。
更底层 自定义程度更高的是AVPlayer。
3)MPMoviePlayerViewController
1.属于MediaPlayer框架 ,可播放本地视频和互联网上的视频文件
2. 不能自定义UI,只能全屏状态
3.自带的播放控制UI, 不需要手动添加。此控制器是视图控制器, 可以弹出,
可以压栈。也可以手动调整视图大小, 添加到其他视图上。
iOS9.0后废弃,官方推荐使用AVPlayerViewController
4)MPMoviePlayerController
1.不能自定义UI。只能将此控制器视图添加到其他视图进行展示。
2.可以调节全屏和非全屏状态
3.此控制器不是视图控制器, 不能直接弹出。
4.播放器的播放状态, 是通过通知的方式告诉外界
网友评论