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