2016-06-16 9 views
2

나는 나의 pjsip 응용 프로그램에있는 스피커를 사용하는 것을 시도하고있다, 그래서 나는 setOutputRoute 사용하고 있습니다 :pjsip android app에서 스피커를 사용 설정하는 방법은 무엇입니까?

pjmedia_aud_dev_route 경로 = pjmedia_aud_dev_route.PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER을; MyApp.ep.audDevManager(). setOutputRoute (route, true);

하지만 잘못되었거나 지원되지 않는 오디오 기능 (PJMEDIA_EAUD_INVCAP)입니다.

pjsua에서 다음과 같이 말합니다 :이 메소드는 AudioDevInfo.caps 플래그에 PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE 기능이있는 경우에만 유효합니다. 그렇지 않으면 오류가 발생합니다. 내가 생각하고

어쩌면 나는이 플래그를 설정해야합니다 ...하지만 내가 몇 일 전에 같은 문제로 실행하는 방법

+0

또한 iOS에서이 문제가 발생합니다. pjsip을 사용하여 라우드 스피커와 스피커를 끄는 방법은 무엇입니까? 나는 PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER 이것을 시도했다. 하지만 오디오에서는 아무것도하지 않습니다. 미리 감사드립니다! :) – NandhaKumar

답변

4

모른다. 나는 그 대답이 아니라 그냥 대안을 알고 있지만 이것을 사용하여 끝내고 그것은 잘 작동합니다.

AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
audioManager.setSpeakerphoneOn(true); 

나는 setSpeakerOn()를 호출하여 이어폰과 스피커 사이를 전환하려면 안드로이드 AudioManger을 사용했다. 만약 당신이 출력을 토글하면 컨텍스트에 상응하는 영구적 인 세트를 사용한다는 것을 알고 있어야한다. audioManager.isSpeakerphoneOn()으로 전화하여 현재 상태를 알 수 있습니다.

+0

jni를 사용하여 PJSIP 코드와 어떻게 구분 되나요? –

+1

안녕하세요 @IgorGanapolsky, 모르겠지만이 [OpenSL ES 질문] (https://qnalist.com/questions/5897167/help-needed-cannot-set-stream-type-audio-player-already- 깨달음)은 당신과 관련이 있습니다. 개발하려는 것에 따라 옵션이 될 수 있습니다. – oga

관련 문제