【问题标题】:Erratic behavior when setting the microphone gain with AVAudioSession使用 AVAudioSession 设置麦克风增益时出现异常行为
【发布时间】:2014-06-03 05:50:35
【问题描述】:

我正在尝试在 AVAudioSession 中使用“setInputGain”设置麦克风增益以处理非常微弱的声音,但我只是部分成功。我正在检查“isInputGainSettable”是否,然后尝试使用滑块更改增益。我正在检查增益是否真的改变了,通过读回值和检查实际录制的声音。结果如下:

我正在使用的代码

-(void)viewDidLoad
{
    self.audioSession = [AVAudioSession sharedInstance];
    if(self.audioSession.isInputGainSettable){
        [self.audioSession setActive:YES error:nil];
    }
}

-(IBAction)setGain:(id)sender 
{
  float gain = self.gainSlider.value;
  NSError* error;
  BOOL gainset = [self.audioSession setInputGain:gain error:&error];
  if (!gainset) NSLog(@"failed %@", error);

  NSLog(@"audiosession gain: %.2f ",self.audioSession.inputGain);
}

我没有收到任何错误消息。我一直在搜索 SO 和其他地方,人们都在报告问题,而且他们能够在 iPad 和旧 iPhone 上设置收益。我所看到的唯一“技巧”是在设置增益之前“等待一段时间”,我尝试过但没有成功。

所以问题是我是否遗漏了什么,我是否应该能够在 iPad 和旧款 iPhone 上设置增益?

【问题讨论】:

    标签: ios iphone ipad audio avaudiosession


    【解决方案1】:

    我也筋疲力尽,搜索了将近三个小时。

    唯一对我有用的是在viewDidAppear 中调用setGain 方法。

    【讨论】:

    • 我已经尝试在 viewDidAppear 之后很好地调用它,但它仍然对我不起作用
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2016-12-16
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    相关资源
    最近更新 更多