流播放文件即用AudioStream 和 AudioQueue 来播放文件。好处是可以快速的开始播放,减少读文件的过程,适合大文件特别是背景音乐的播放。坏处是一次只能播放一个文件,如果要换播放文件,中间需要一定的时间。但是因为iPhone的文件读取时间只有10秒,对于资源较大的文件,只能考虑这个方式了。下面我将分享一下我在这方面的一点经验:1. 单个文件播放2. 在线文件播放
1. 单个文件播放
以上是需要定义的为单独文件播放的所需要的元素。可以定义在类里面。
2. 在线文件播放
利用http1.1协议播放在线文件。以上是在线文件播放所需要的参数。
这里是定义的一些参数,NUM_QUEUE_BUFFERS 用于播放本地文件,而 kNumAQBufs 用于播放在线文件。
3. 本地文件初始化
4. 在线文件初始化
算了,废话不多说了,直接上代码,等以后有时间了再逐一解释。
.h文件
.m文件
代码中对指针形式和数组形式2种各写了不同的代码,大家可以根据个人爱好使用,而且还将url和文件path2种播放方式写在了一起。这个类是xxxxx.h