iOS-iPhone使用AVFoundation录制声音后音量过低

iOS-iPhone使用AVFoundation录制声音后音量过低,ios,audio,avfoundation,Ios,Audio,Avfoundation,我有一个我正在开发的应用程序,它的功能之一是通过iPhone麦克风录制声音,并能够向我播放 问题:在我录制之后,比如说,我说话,播放级别非常低。现在我确实从AudioToolbox切换到了AVFoundation,这是在切换之后发生的。是否需要为AVFoundation编码音量参数?我在文档中没有看到任何内容 谢谢你的帮助 录制音频或配置录制或播放和录制音频会话时,iPhone会从使用扬声器(底部)切换到使用较小的耳机(靠近前顶部),从而产生较低的音量 通过将音频会话kAudioSessionP

我有一个我正在开发的应用程序,它的功能之一是通过
iPhone麦克风录制声音,并能够向我播放

问题:在我录制之后,比如说,我说话,播放级别非常低。现在我确实从
AudioToolbox
切换到了
AVFoundation
,这是在切换之后发生的。是否需要为
AVFoundation
编码音量参数?我在
文档中没有看到任何内容


谢谢你的帮助

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


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

我已经解决了这个问题。在AppDelegate.m中,我在
didfishlaunchingwithoptions

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: &setAudioError]; 

if (setAudioError) { NSLog(@"error setting audio: %@", setAudioError); } 

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (
                         kAudioSessionProperty_OverrideAudioRoute,
                         sizeof (audioRouteOverride),
                         &audioRouteOverride);
这里重要的一点是,它不起作用,因为我最初有
AVAudioSessionCategoryPlayer错误:&setAudioError


一旦我将其更改为“播放和录制”,我就没有任何问题。

在“设置”中打开飞行模式。你的声音会高得多。

我试着使用上面的建议,但由于某些原因,它不起作用。