iOS – 使用AVFoundation录制声音后的iPhone声音级别较低

我有一个应用程序,我正在其中的一个function是通过iPhone microphone录制声音,并能够播放给我。

问题:我logging后让我说,我说话,播放水平是非常低的。 现在我没有从AudioToolbox切换到AVFoundation ,这发生在切换后。 我是否需要在AVFoundation的音量参数中进行AVFoundation ? 我没有看到documentation任何documentation

我感谢任何帮助。

我已经解决了这个问题。 在AppDelegate.m中,我有didFinishLaunchingWithOptions的以下内容

 [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: &setAudioError]; if (setAudioError) { NSLog(@"error setting audio: %@", setAudioError); } UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; AudioSessionSetProperty ( kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride); 

这里的重要部分是,它不工作,因为我最初有AVAudioSessionCategoryPlayer error:&setAudioError

一旦我将其改为“PlayandRecord”,我就没有问题了。

录制audio或configuration录音或播放和录音audio会话时,iPhone会从使用扬声器(在底部)切换到使用较小的耳机(靠近前顶部),从而产生较低的音量。

您的应用程序可以通过将audio会话kAudioSessionProperty_OverrideAudioRoute属性设置为kAudioSessionOverrideAudioRoute_Speaker来覆盖此默认设置。 有关详细信息,请参阅Apple的audio会话API文档。

在设置中打开飞行模式。 你的声音会更高。