UInt32 val = kAudioQueueHardwareCodecPolicy_PreferSoftware;
OSStatus ignorableError;
ignorableError = AudioQueueSetProperty(audioQueue, kAudioQueueProperty_HardwareCodecPolicy, &val, sizeof(UInt32));
if (ignorableError)
{
NSLog(@"set software codec error:%d", ignorableError);
}
我的代码:
OSStatus err = AudioQueueNewOutput(basicDescription, AudioQueueFinishCallback,
(__bridge void*)(self),
CFRunLoopGetCurrent(),
kCFRunLoopCommonModes,
0, &audioQueue);
if (err) return nil;
UInt32 val = kAudioQueueHardwareCodecPolicy_PreferSoftware;
OSStatus ignorableError;
ignorableError = AudioQueueSetProperty(audioQueue, kAudioQueueProperty_HardwareCodecPolicy, &val, sizeof(UInt32));
if (ignorableError)
{
NSLog(@"set software codec error:%d", ignorableError);
}
AudioQueueSetProperty(audioQueue, kAudioQueueProperty_MagicCookie, magicCookieData, magicCookieSize);
//free(magicCookieData);
AudioQueueSetParameter(audioQueue, kAudioQueueParam_Volume, 1.0);