2012-12-03 6 views
0

사용자가 전화를받을 때 동일한 스피커와 볼륨으로 MP3 오디오 파일을 재생하고 싶습니다. 나는 매니페스트Android - 스피커를 통해 오디오를 재생하는 중

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

에 다음 코드

int result = audioManager.requestAudioFocus(afChangeListener, 
        AudioManager.MODE_IN_CALL, 
        AudioManager.AUDIOFOCUS_GAIN); 
audioManager.setSpeakerphoneOn(true); 

를 사용하고 있지만 작동하지 않습니다. 볼륨이 매우 높습니다. 아이디어가 있으십니까? 할 것 setSpeakerPhoneOn 해당 호출 (대부분이) 경로로 음악과 그들이 함께 혼합 할 수 있으며 음악이 (음성 통화 샘플 속도로 다운 샘플링 할 수있는 경우에 스피커로 음성 통화를 모두 무엇

답변

0

8 또는 16 kHz). 당신이 시도 할 수

것은이 음성 통화 오디오 이어폰으로 전달되는 동안 스피커로 라우팅 당신에게 단지 음악을하자, 수 나는 how to turn speaker on/off programatically in android 4.0 에서 제안 된 것입니다. 모든 장치에서 작동하는 것은 보장되지 않습니다.

+0

박물관 용 오디오 가이드를 쓰고 있습니다. 오디오 가이드의 내용은 mp3 파일에 저장됩니다. 나는이 오디오 파일의 재생이 전화 통화의 동일한 볼륨이므로 사용자가 귀 가까이에서 전화기를 움직여야한다. 나는 어떤 음악도 연주하지 않았다. – user422688

+0

좋아, 여기에는 실제 음성 통화가 포함되어 있지 않다. 내가 원하는 것은 실제로 음악을 이어 피스로 보내는 것입니다. 이 경우 setSpeakerPhoneOn에 대한 호출을 제거하고 STREAM_VOICE_CALL로 설정된 스트림 유형으로 MediaPlayer 객체에서 setAudioStreamType을 호출 할 수 있습니다. 그러면 해당 MediaPlayer의 오디오가 음성 통화가 라우팅되는 것과 동일한 장치로 라우트됩니다. – Michael

관련 문제