将首选采样率设置为16000时,它可以正常工作。但是,当我想播放扬声器的声音并打印采样率时,我发现它为48000。
从扬声器播放后,我试图再次设置采样率,但是它不起作用。
NSError *err = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:NO error:&err];
BOOL successfullySatSampleRate = [session setPreferredSampleRate:SAMPLING_FREQUENCY error:&err];
if(err != nil)
{
NSLog(@"Error in setting up audio: %@", err);
}
if(!successfullySatSampleRate)
{
NSLog(@"Error in setting up sample rate");
}
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error: nil];
[session setActive:YES error:&err];
NSLog(@"initialize Session preferredSampleRate = %f, hardware sampleRate = %f",[session preferredSampleRate],[session sampleRate]);
如何保持采样率16000?