2010-03-23 2 views
0

내 iPhone 앱에서 오디오를 녹음하고 iPod 음악을 동시에 재생하려고하므로 오디오 세션 카테고리를 kAudioSessionCategory_PlayAndRecord로 설정합니다. 그러나 이것을 설정하면 iPod 오디오가 여전히 작동하지만 모든 시스템 오디오 (진동 포함)는 더 이상 작동하지 않습니다. SDK 또는 무언가의 버그, 또는이를 해결하는 방법을 아는 사람이 있습니까? 도와주세요!iPhone PlayAndRecord가 모든 시스템 오디오를 묵음 처리합니까?

미리 감사드립니다.

답변

3

kAudioSessionOverrideAudioRoute에 대한 문서를 보면 PlayAndRecord 카테고리의 기본값은 오디오를 수신자 (전화로 말할 때 사용되는 스피커)로 라우팅한다는 것을 알 수 있습니다. 모든 오디오가이 오디오로 라우팅 될 가능성이 있으며 귀를 넣지 않고도들을 수없는 것입니까?

오디오가 움직이는 위치를 변경하려면 AudioSessionSetProperty를 호출하고 오디오를 전송할 위치를 지정하는 상수를 전달해야합니다. 이 상수는 오디오 스피커로 라우팅되도록 지정

(지금처럼) 당신이 수신기에 전달되는 오디오를 할 것을 지정 kAudioSessionOverrideAudioRoute_None, 또는

kAudioSessionOverrideAudioRoute_Speaker이다 전화 하단에

UInt32 routeVar = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(routeVar), &routeVar);