Ios 如何解决iPhone 6s/iPhone 6s中的音频失真问题
我正在开发一个实时流媒体应用程序。我对iPhone 6s和6s Plus的音频失真都有问题。我知道苹果已经改变了音频硬件采样率(到48000赫兹) 我尝试了以下代码,但音频仍然失真:Ios 如何解决iPhone 6s/iPhone 6s中的音频失真问题,ios,objective-c,iphone,audio,Ios,Objective C,Iphone,Audio,我正在开发一个实时流媒体应用程序。我对iPhone 6s和6s Plus的音频失真都有问题。我知道苹果已经改变了音频硬件采样率(到48000赫兹) 我尝试了以下代码,但音频仍然失真: -(void) setupAudioSpeaker { NSError * audioSessionError = nil; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback e
-(void) setupAudioSpeaker
{
NSError * audioSessionError = nil;
[[AVAudioSession sharedInstance] setCategory:
AVAudioSessionCategoryPlayback error: &audioSessionError];
if (audioSessionError) {
DLog(@"AVAudioSession Error %ld, %@",
(long)audioSessionError.code,
audioSessionError.localizedDescription);
}
NSTimeInterval bufferDuration =0.01;
[[AVAudioSession sharedInstance]
setPreferredIOBufferDuration:bufferDuration
error:&audioSessionError];
if (audioSessionError) {
DLog(@"Error %ld, %@", (long)audioSessionError.code,
audioSessionError.localizedDescription);
}
double sampleRate = 48000.0;
[[AVAudioSession sharedInstance] setPreferredSampleRate:sampleRate
error:&audioSessionError];
if (audioSessionError) {
DLog(@"AVAudioSession Error %ld, %@",
(long)audioSessionError.code,
audioSessionError.localizedDescription);
}
[[AVAudioSession sharedInstance] setActive:YES
error:&audioSessionError];
if (audioSessionError) {
DLog(@"AVAudioSession Error %ld, %@", (long)audioSessionError.code,
audioSessionError.localizedDescription);
}
sampleRate = [AVAudioSession sharedInstance].sampleRate;
bufferDuration = [AVAudioSession sharedInstance].IOBufferDuration;
DLog(@"Sampe Rate:%0.0fHZ I/O Buffer Duration:%f", sampleRate,
bufferDuration);
}