1

ミキサー->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を使用したいと思います。また、私のコールバックアルゴリズムは、そのオーディオ形式用にすでに作成されています。これは可能ですか?

前もって感謝します。

橋脚。

4

1 に答える 1

1

答えがないので、完全を期すために自分で答えます。最終的に、CoreAudioメーリングリストのChrisAdamsonからのアドバイスを受けて、私はこれを行いました。

dynamicsProcessorには8.24形式が必要であることがわかりました。そこで、dynamicsProcessorの前後にコンバーターを配置して、目的の形式から8.24(dynamicsProcessorが必要とする)に、またはその逆に変換しました。

ミキサー->コンバーター->dynamicsProcessor->コンバーター->remoteIO

于 2012-12-05T07:23:15.783 に答える