0

나는 이어 피스를 통해 오디오를 재생해야합니다. AudioTrack을 사용하여 장치에서 소리를 재생하고 있습니다. 오디오 모드는 STREAM_VOICE_CALL로 설정됩니다. 이 2.3 장치에서 완벽하게 작동하는 것 같다setSpeakerphoneOn() 2.1에서 작동하지 않음 2.3에서 작업했습니다

AudioManager am;    
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
am.setSpeakerphoneOn(false); 

: 은 또한, 내 활동, 스피커폰은으로 해제되어 있습니다. 그러나 2.1에서는 소리가 여전히 스피커에서 재생됩니다. 사운드가 2.1 및 2.3 이어폰 연주되었다 이에

am.setMode(AudioManager.MODE_IN_CALL); 

있지만, 대부분의 시간은 2.3가 전혀 재생되지이 대한 수정으로서

는, I는 다음과 같이) (setMode 사용하여 시도. 또한 일부 장소에서는 시스템 전체의 전화 상태에 영향을 미치기 때문에 setMode()를 앱에서 사용하지 말아야한다고 읽었습니다. 여기 : http://code.google.com/p/sipdroid/issues/detail?id=270

어떤 도움이 필요합니까?

답변

0

아래 2.3, Android는 다소 setSpeakerPhoneOn()으로 버그가 있습니다. this answer에 따르면 두 API 메소드를 모두 사용해야한다고 생각합니다.

2.3 오디오가 전혀 재생되지 않는 것과 관련하여 통화중인 음량 설정 (사용할 내용)을 확인하십시오. setMode()을 사용하기 전에 전화가 있던 상태를 계속 추적하고 확인하십시오. 오디오 관리자가 더 이상 사용되지 않으면 MODE_NORMAL으로 다시 설정하십시오.

+0

MODE_NORMAL (으)로 다시 설정했습니다. 여전히 문제. 응용 프로그램이 2.3 이상이거나 2.1 이상일 경우 살고 있습니다. setmode()는 그러한 응용 프로그램에 전혀 권장되지 않습니다. 내 질문에 해당 링크를 확인하십시오. – Alabhya

+0

라우팅 방법이 더 이상 사용되지 않으므로 2.2 용으로 특별히 사용하지 않으면 다른 해결책이 없다고 생각합니다. 그것은 불완전한 오디오 드라이버 또는 뭔가 같은 btw,뿐만 아니라 당신이 사용하고있는 휴대 전화와 버그 수 있습니다. –