播放录制的文件时iPhone上的音量太低

时间:2011-07-04 05:38:14

标签: iphone avaudioplayer avaudiorecorder

我正在开发一个iOS应用程序,我应该能够录制声音,将其保存到文件系统,然后从磁盘播放。当我尝试从磁盘上播放文件时,我几乎听不到任何声音。音量太低。但我很确定我会将设备音量设置为最大值。我正在使用AVAudioRecorder和AVAudioPlayer`进行录制和播放。

有人可以指出问题是什么吗?

3 个答案:

答案 0 :(得分:6)

对于大多数,此处的解决方案可能是将.defaultToSpeaker选项与AVAudioSessionCategoryPlayAndRecord类别一起使用:

try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, with: [.defaultToSpeaker])

但对我来说,问题是我的应用程序中的另一个组件是在音频会话上设置AVAudioSessionModeMeasurement模式,无论出于何种原因,该模式会降低输出音量。

答案 1 :(得分:1)

使用此方法设置AVAudioSession的类别

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

答案 2 :(得分:0)

尝试此代码。我认为setMode可以解决我的问题。

NSError * outError = nil;
AVAudioSession * session = [AVAudioSession sharedInstance];
[session setActive:NO error:nil];
[ session overrideOutputAudioPort: AVAudioSessionPortOverrideSpeaker error:&outError];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setMode:AVAudioSessionModeSpokenAudio error:nil];
[session setActive:YES error:nil];
if(outError){
    NSLog(@"speak error %@", outError);
}