我正在使用AVAudioRecorder在iPhone上录制语音,这些是我的录音机设置:
NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
问题是没有耳机我听不到录制的声音。 我希望能够听到没有耳机的声音。 我该如何更改我的代码?
答案 0 :(得分:1)
您必须在播放声音之前将AVAudiosession类别设置为AVAudioSessionCategoryPlayback
答案 1 :(得分:1)
另一件需要考虑的事情是,如果您没有设置AVAudioSession进行播放,那么手机侧面的静音振铃开关将使您的音频无法通过扬声器播放。为了让您能够使用静音手机播放声音,请确保在触发AVAudioPlayer播放文件之前使用此类内容:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
答案 2 :(得分:0)
答案 3 :(得分:0)
也许将音频输出强制路由到扬声器会有帮助吗?
- (void) forceRouteAudioToSpeaker
{
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute,
sizeof(audioRouteOverride), &audioRouteOverride);
}
不要忘记包含<AudioToolbox/AudioServices.h>
。第二个想法,将音频类别切换到普通播放也应该可以解决问题,你说它没有...