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

时间:2012-08-23 23:40:52

标签: ios audio avfoundation

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

问题:我记录之后可以说,例如,我说话,播放电平非常低。现在我确实从AudioToolbox切换到AVFoundation,这发生在切换之后。我是否需要为AVFoundation的卷参数编码?我在documentation中没有看到任何内容。

我感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。在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”,我就没有任何问题。

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

在“设置”中启用“飞行模式”。你的声音要高得多。