2016-06-16 24 views
2

Ich versuche, die Lautsprecher in meiner pjsip App zu verwenden, so dass ich bin mit setOutputRoute:Wie aktiviert man Lautsprecher in pjsip Android App?

pjmedia_aud_dev_route route = pjmedia_aud_dev_route.PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER; MyApp.ep.audDevManager(). SetOutputRoute (route, true);

aber ich erhalte einen Fehler: ungültige oder nicht unterstützte Audiofähigkeit (PJMEDIA_EAUD_INVCAP).

In pjsua heißt es: Diese Methode ist nur gültig, wenn das Gerät PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE-Fähigkeit in AudioDevInfo.caps Flags hat, andernfalls wird Fehler ausgelöst.

ich vielleicht denke ich habe dieses Flag setzen ... Aber ich weiß nicht, wie

+0

Ich habe dieses Problem auch in iOS. Wie aktiviert man Lautsprecher und Lautsprecher mit pjsip? Ich habe PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER dieses Mal ausprobiert. Aber es macht nichts in Audio. Danke im Voraus! :) – NandhaKumar

Antwort

4

ich in das gleiche Problem vor ein paar Tagen lief. Ich weiß, es ist nicht die Antwort, nur eine Alternative, aber ich endete damit und das funktioniert gut.

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

ich verwendet, um die Android AudioManger zwischen der Hörmuschel und dem Lautsprecher zu wechseln, indem setSpeakerOn() aufrufen. Wenn Sie es verwenden, beachten Sie, dass, wenn Sie die Ausgabe umschalten, dessen Satz permanent dem Kontext entspricht. Sie können den aktuellen Status abrufen, indem Sie audioManager.isSpeakerphoneOn() aufrufen.

+0

Wie nennt man das getrennt von Ihrem PJSIP-Code, mit jni? –

+1

Hallo @IgorGanapolsky, ich weiß es nicht, aber ich denke das [OpenSL ES Frage] (https://qnalist.com/questions/5897167/help-needed-cannot-set-stream-type-audio-player-ready- realisiert) ist mit Ihrem verwandt. Je nachdem, was Sie entwickeln möchten, könnte dies eine Option sein. – oga