Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何解决iPhone 6s/iPhone 6s中的音频失真问题_Ios_Objective C_Iphone_Audio - Fatal编程技术网

Ios 如何解决iPhone 6s/iPhone 6s中的音频失真问题

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

我正在开发一个实时流媒体应用程序。我对iPhone 6s和6s Plus的音频失真都有问题。我知道苹果已经改变了音频硬件采样率(到48000赫兹)

我尝试了以下代码,但音频仍然失真:

 -(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);
  }