是否可以在运行的 AudioSession/AudioUnit 中间更改/设置采样率而不停止/重新启动当前的 AudioSession/AudioUnit(就像音频路由一样)?
我有一个采样率为 44.1 KHz 的活动音频会话
AudioStreamBasicDescription.mSampleRate = 44100
我想在不取消初始化 [AudioUnitUninitialize(audioUnit)] 或停止 [AudioOutputUnitStop(audioUnit)] 或停用音频单元/会话的情况下将采样率更改为 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;
非常感谢任何帮助。