参考:http://blog.csdn.net/jiangyiaxiu/article/details/9197221
这个库是C的接口,偏向于底层,用于在线流媒体播放;
系统的AVPlayer播放简单音视频还可以,但是功能不强大,不能处理边听边存,断点续传,播放事件等;
实现原理
将读取到的数据存到buffer queue中,然后按照buffer的顺序进行播放;
主要头文件
- AudioQueue.h
- AudioFile.h
- AudioFileStream.h
相关函数
1.AudioFileStreamOpen AudioFileStreamOpen
2.AudioFileStreamParseBytes 解析音频数据
3.AudioQueueNewOutput 创建音频队列AudioQueueRef 、设置buffer callback函数
4.AudioQueueAllocateBuffer 在AudioQueueRef中创建音频缓冲数据AudioQueueBufferRef
5.AudioQueueEnqueueBuffer 把缓冲数据排队加入到AudioQueueRef等待播放
6.AudioQueueStart 播放
7.AudioQueueStop / AudioQueuePause 停止,暂停
- AudioQueueAddPropertyListener
- AudioFileGetProperty
- AudioQueueSetProperty
- AudioQueueSetParameter
- AudioFileOpenURL 通过url打开一个语音文件,并返回一个AudioFileID
- AudioFileReadPackets
相关结构体
- AudioFileID
- AudioQueueRef
- AudioQueueBufferRef
- AudioStreamBasicDescription
- AudioStreamPacketDescription
断点续传
在http请求头中设置数据的请求范围,请求头中都是key-value成对
[request setValue:range forHTTPHeaderField:@"Range"];