iOS:播放扬声器声音时,AVAudioSession采样率未更改

时间:2019-07-17 11:03:15

标签: ios objective-c avaudiosession sample-rate

将首选采样率设置为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?

0 个答案:

没有答案