mahdi
mahdi

Reputation: 159

iOS: AVAudioSession sample rate is not changing when playing a sound from speaker

When setting the preferred sample rate to 16000 it is working fine. However, when I want to play the sound from the speaker and print the sample rate I find it 48000.

I tried to set the sample rate again after playing from the speaker, but it is not working.

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]);

What should I do to keep the sample rate 16000?

Upvotes: 1

Views: 544

Answers (0)

Related Questions