AudioToolbox之AudioQueue.h(四)Manipulating Audio Queue Properties

和文件操作一样,我们也可以获取和设置音频队列的属性。

1,AudioQueueGetProperty

函数功能:获取音频队列的属性值。

函数原型:

OSStatus AudioQueueGetProperty (
   AudioQueueRef inAQ,
   AudioQueuePropertyID inID,
   void *outData,
   UInt32 *ioDataSize
);

参数解析:

inAQ:想要获取属性的音频队列。

inID:想要获取的属性类型ID。

outData:获取的属性值。

ioDataSize:输入时,该值表示调用者所期望的最大的字节数;返回时,是该属性值的实际数据大小。


一点讨论:

  在使用这个函数前,可以先使用AudioQueueGetPropertySize函数来获取,存储对应属性值所需的大小。

调用实例:

  暂无。


2,AudioQueueSetProperty

函数功能:设置音频队列的某个属性。

 函数原型:

 OSStatus AudioQueueSetProperty (
   AudioQueueRef inAQ,
   AudioQueuePropertyID inID,
   const void *inData,
   UInt32 inDataSize
); 
参数解析:

前面两个参数可参考 AudioQueueGetProperty.

inData:属性的实际值。

inDataSize:属性值数据的大小。

调用实例(先获取别的流对应的属性,再设置):

 XThrowIfError ( AudioFileGetProperty (myInfo.mAudioFile, kAudioFilePropertyMagicCookieData, &size, cookie), "get cookie from file");
XThrowIfError ( AudioQueueSetProperty(myInfo.mQueue, kAudioQueueProperty_MagicCookie, cookie, size), "set cookie on queue"); 

你可能感兴趣的:(AudioQueue)