AudioToolbox

参考:http://blog.csdn.net/jiangyiaxiu/article/details/9197221

这个库是C的接口,偏向于底层,用于在线流媒体播放;
系统的AVPlayer播放简单音视频还可以,但是功能不强大,不能处理边听边存,断点续传,播放事件等;

实现原理

将读取到的数据存到buffer queue中,然后按照buffer的顺序进行播放;


Paste_Image.png

主要头文件

  • 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 停止,暂停

  1. AudioQueueAddPropertyListener
  2. AudioFileGetProperty
  3. AudioQueueSetProperty
  4. AudioQueueSetParameter
  5. AudioFileOpenURL 通过url打开一个语音文件,并返回一个AudioFileID
  6. AudioFileReadPackets

相关结构体

  1. AudioFileID
  2. AudioQueueRef
  3. AudioQueueBufferRef
  4. AudioStreamBasicDescription
  5. AudioStreamPacketDescription

断点续传

在http请求头中设置数据的请求范围,请求头中都是key-value成对
[request setValue:range forHTTPHeaderField:@"Range"];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容