AudioToolbox

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

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

实现原理

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


AudioToolbox_第1张图片
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"];

你可能感兴趣的:(AudioToolbox)