3
我试图在通用应用程序中录制和播放音频。 AVAudioSession配置是:使用iPod录制和播放音频
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error: nil];
UInt32 category = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
这对于内置麦克风的设备工作正常。但在第三代iPod中,我正在经历随意的不良行为。有时候所有的工作都很好,有时候只有带有集成话筒的耳机才能插入。在这种情况下,无法在没有耳机的情况下听到应用程序中的任何声音。
感谢戴夫,但这并没有解决我的问题。问题在于,当我将音频类别设置为kAudioSessionCategory_PlayAndRecord以允许在iPod第三代录制时,我将丢失外部扬声器声音。我正在检测设备型号和麦克风插入/拔出,并尝试重置音频会话类别,但我无法恢复扬声器声音。任何线索? – LoDani
@LoDani在iPod Touch第3代上,当您获得kAudioSessionProperty_AudioInputAvailable时,结果如何?拔下耳机时会出现问题吗? – Dabrut
即使连接了耳机,它也会返回true(micConnected!= 0)。但是我得到正确的结果,要求[[AVAudioSession sharedInstance] inputIsAvailable]。是的,在录制后拔下耳机时会出现问题。我试图改变AudioCategory和AudioRoute属性后检测到拔掉没有结果。 – LoDani