1
我正在开发一个应用程序,只需要简单地将音频以下属性:iPhone AudioSession性能
- 可以记录,并在同一时间
- 播放声音可以混合与其他应用程序,例如音频输出当,当它在
插入我用下面的代码耳机是不是在耳机
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *audioSessionError;
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&audioSessionError];
UInt32 mix = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(mix), &mix);
UInt32 route = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(route), &route);
[audioSession setActive:YES error:&audioSessionError];
但是,我可以达到1-3,但在4时失败。当耳机插入时,音频仍然通过扬声器来。然后我尝试设置kAudioSessionProperty_OverrideCategoryDefaultToSpeaker
而不是kAudioSessionProperty_OverrideAudioRoute
,但是这导致暂停iPod而不是混合两个音频。任何人都可以请帮忙指出上述代码有什么问题吗?
感谢您的任何帮助。
你试过收听音频路径更改通知,并设置kAudioSessionOverrideAudioRoute_Speaker只有当耳机没有插入,和取消它时,它在插入? – lucius 2010-07-25 18:31:24
进行这项工作需要进口什么? – 2011-01-15 12:11:11