AudioToolbox之AudioQueue.h(二)Creating and Disposing of Audio Queues
来源:互联网 发布:php new soapclient 编辑:程序博客网 时间:2024/05/21 08:52
创建音频队列时,参数较多,使用的时候要特别小心。
1,AudioQueueNewOutPut
函数功能:创建一个播放音频队列对象。
函数原型:
const AudioStreamBasicDescription *inFormat,
AudioQueueOutputCallback inCallbackProc,
void *inUserData,
CFRunLoopRef inCallbackRunLoop,
CFStringRef inCallbackRunLoopMode,
UInt32 inFlags,
AudioQueueRef *outAQ
);
inFormat:从它的类型上,我们可知,它需要的是基本的流信息。对于一个已经存在的流文件,一般通过AudioFileGetProperty的方法(属性ID是kAudioFilePropertyDataFormat)来获取。
inCallbackProc:音频队列输出(播放)时的回调函数。回调函数是设计还是挺有技巧的,需要多体会demo中的使用。
inUserData:是inCallbackProc的使用者,通常是inCallbackProc的第一个参数。
inCallbackRunLoop:指定回调函数执行的事件循环。一般使用:CFRunLoopGetCurrent(),当设置为NULL时,这个时间循环插入到其中一个音频队列的内部线程中。
inCallbackRunLoopMode:回调函数执行时的模式,一般不关注这个参数,通常设置为:kCFRunLoopCommonModes
inFlags:保留参数,必须设置为0.
outAQ:新创建的音频队列对象。(出来的时候,队列里面就有数据了)
使用实例:苹果官方的speakHere、AQOfflinRenderTest等都有。
2,AudioQueueNewInPut
函数功能:创建一个录音音频队列对象。
和AudioQueueNewOutPut很类似,参数的使用也基本一致,区别仅仅是:AudioQueueNewOutPut创建的是播放队列,而AudioQueueNewInPut创建的是录音队列。
3,AudioQueueDispose
函数功能:销毁(处理)一个音频队列。
参数原型:
AudioQueueRef inAQ,
Boolean inImmediate
);
参数解析:
inAQ:想要销毁的音频队列。
inImmdiate:是否马上销毁音频队列。
- AudioToolbox之AudioQueue.h(二)Creating and Disposing of Audio Queues
- AudioToolbox之AudioQueue.h(一)Controlling Audio Queues
- AudioToolbox之AudioQueue.h(三)Handing Audio Queue Buffers(未完)
- AudioToolbox之AudioQueue.h(四)Manipulating Audio Queue Properties
- AudioToolbox之AudioQueue.h(五)performing Offline Rendering
- AudioToolbox之AudioFile.h(三)open and close audio files
- AudioToolbox之AudioFile.h(四)Getting and Setting Audio File Properties
- AudioToolbox之AudioFile.h(二)
- AudioToolbox之AudioFile.h(一)
- AudioQueue(AudioToolBox)的原理与使用
- IOS音频2:之采用四种方式播放音频文件(二)AudioToolbox AVFoundation OpenAL AUDIO QUEUE(2014-10-17 16:07)
- RabbitMQ 之二 "Work Queues"
- ios之audio unit的录音和播放一起,解决audioqueue播放PCM延迟问题
- Creating an Audio Calling App with Ionic and PhoneRTC
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频3:之采用四种方式播放音频文件(三)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频4:之采用四种方式播放音频文件(四)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频5:之采用四种方式播放音频文件(五)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- DOIT.IM时间管理简介
- php调用.net的WebService传参问题
- VS2005 调用堆栈
- WLC上的无线功率控制
- medusa破解ssh密码
- AudioToolbox之AudioQueue.h(二)Creating and Disposing of Audio Queues
- 当C++遇到IOS应用开发---字符串处理
- 思维训练——益智题
- dao实现层通用增删改查方法
- 一个比较完善表单校验插件(续)----自以为算是比较全面的校验规则
- Visual AssistX vs2010
- iphone ios AVAudioRecorder 录音后用avplayer播放声音小
- Win7下使用regsvr32注册DLL是返回0x80070005错误
- 用DNW软件下载程序时,USB自动断开的解决办法