現在の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;
どんな助けでも大歓迎です。