1

現在のAudioSession/AudioUnitを停止/再起動せずに、実行中のAudioSession/AudioUnitの途中でサンプルレートを変更/設定することは可能ですか?

サンプル レートが 44.1 KHz のアクティブなオーディオ セッションがあります。

AudioStreamBasicDescription.mSampleRate         = 44100

[AudioUnitUninitialize(audioUnit)] の初期化を解除したり、[AudioOutputUnitStop(audioUnit)] を停止したり、Audio Unit/Session を非アクティブにしたりせずに、サンプルレートを 8KHz に変更したいと考えています。

これは私のオーディオユニットの設定です。

audioComponentDescription.componentType = kAudioUnitType_Output;
audioComponentDescription.componentSubType = kAudioUnitSubType_VoiceProcessingIO;
audioComponentDescription.componentFlags = 0;
audioComponentDescription.componentFlagsMask = 0;
audioComponentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;


audioStreamBasicDescription.mSampleRate         = 44100;
audioStreamBasicDescription.mFormatID           = kAudioFormatLinearPCM;
audioStreamBasicDescription.mFormatFlags        =  kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;
audioStreamBasicDescription.mFramesPerPacket    = 1;
audioStreamBasicDescription.mChannelsPerFrame   = 1;
audioStreamBasicDescription.mBitsPerChannel     = 16;
audioStreamBasicDescription.mBytesPerPacket     = 2;
audioStreamBasicDescription.mBytesPerFrame      = 2;

どんな助けでも大歓迎です。

4

2 に答える 2