iOS5效果单元应使用哪种流格式

Sam*_*ent 5 signal-processing core-audio audiounit ios

我正在尝试使用低通滤波器AU.在将流格式设置为过滤器单元时,我不断收到kAudioUnitErr_FormatNotSupported(-10868)错误,但如果我只使用远程IO单元则没有错误.

我正在使用的流格式是(更新的):

myASBD.mSampleRate = hardwareSampleRate;
myASBD.mFormatID = kAudioFormatLinearPCM;      
myASBD.mFormatFlags = kAudioFormatFlagIsSignedInteger;
myASBD.mBitsPerChannel = 8 * sizeof(float);
myASBD.mFramesPerPacket = 1;                                          
myASBD.mChannelsPerFrame = 1;           
myASBD.mBytesPerPacket = sizeof(float) * myASBD.mFramesPerPacket;                                                                            
myASBD.mBytesPerFrame = sizeof(float) * myASBD.mChannelsPerFrame;  
Run Code Online (Sandbox Code Playgroud)

我正在设置过滤器流,如下所示:

 // Sets input stream type to ASBD
 setupErr = AudioUnitSetProperty(filterUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &myASBD, sizeof(myASBD));
 NSLog(@"Filter in: %i", setupErr);

 //NSAssert(setupErr == noErr, @"No ASBD on Finput");


//Sets output stream type to ASBD
setupErr = AudioUnitSetProperty(filterUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &myASBD, sizeof(myASBD));
NSLog(@"Filter out: %i", setupErr);
NSAssert(setupErr == noErr, @"No ASBD on Foutput");
Run Code Online (Sandbox Code Playgroud)

hot*_*aw2 3

iOS 滤波器音频单元的规范格式是 8.24 定点(线性 PCM),即每通道 32 位,而不是 16 位。