我正在尝试连接我的混音器 -> remoteio -> 动态处理器
这是我的 AudioFormat // 描述格式
memset( &audioFormat, 0, sizeof(AudioStreamBasicDescription) );
audioFormat.mSampleRate = 44100.00;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;
audioFormat.mFramesPerPacket = 1;
audioFormat.mChannelsPerFrame = 1;
audioFormat.mBitsPerChannel = 16;
audioFormat.mBytesPerPacket = 2;
audioFormat.mBytesPerFrame = 2;
当我使用 CAShow 时,它给了我以下信息。
AudioUnitGraph 0x4725000:
Member Nodes:
node 1: 'auou' 'rioc' 'appl', instance 0x1c5ab3a0 O I
node 2: 'aumx' 'mcmx' 'appl', instance 0x1d07a6d0 O I
node 3: 'aufx' 'dcmp' 'appl', instance 0x1d085330 O I
Connections:
node 2 bus 0 => node 1 bus 0 [ 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
node 1 bus 0 => node 3 bus 0 [ 2 ch, 0 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
尝试结果 = AudioUnitSetProperty ( _dynamicsUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &audioFormat, sizeof (audioFormat) );
将audioFormat设置为所需的格式会给我一个错误代码-10868。
我还意识到从 audynamicsprocessor 获取 ASBD 会产生这种情况。
effectASBD AudioStreamBasicDescription
mSampleRate Float64 44100
mFormatID UInt32 1819304813
mFormatFlags UInt32 41
mBytesPerPacket UInt32 4
mFramesPerPacket UInt32 1
mBytesPerFrame UInt32 4
mChannelsPerFrame UInt32 2
mBitsPerChannel UInt32 32
mReserved UInt32 0
我尝试了各种方法,比如让音频格式 ABSD 符合 AUdynamicsprocessor,但我得到了同样的错误。
出于延迟考虑,我想尽可能使用我原来的音频格式 ASBD。此外,我的回调算法已经为该音频格式编写。这可能吗?
提前致谢。
码头。