2017-06-21 10 views
0

Wir entwickeln eine native Anwendung mit webrtc, Kurento Media Server und Nubomedia-Bibliotheken für Video- und Audiokonferenzen. Wir sind an dem Punkt, wo wir Video und Audio von anderen Bewerbern erhalten können.Android Audio auf unteren Lautsprecher stecken und kann nicht Kopfhörer in meiner Anwendung verwenden. App friert auch

Das Problem, das wir haben, ist, dass manchmal, wenn wir eine Verbindung herstellen, der Ton sehr laut und nur vom unteren Lautsprecher des Telefons und wir können es nicht abschalten oder Kopfhörer einfügen, da es keinen Effekt hat. Dies wird normalerweise wiederhergestellt, nachdem ich das Telefon neu gestartet habe, kann aber zufällig erscheinen, wenn ich die App erneut öffne. Normalerweise kommt der Ton von dem Lautsprecher, wenn es gut funktioniert. Ich kann etwas Code posten, wenn es hilft, aber es ist nur eine Menge und ich weiß nicht, was genau das Problem sein könnte. Könnte es ein webrtc Bug oder ein Bug in unserer App sein, auch wenn ich es nicht reproduzieren kann. Gibt es eine Möglichkeit, den unteren Lautsprecher zu blockieren?

Auch die Anwendung friert manchmal beim Start ohne Fehlermeldung oder irgendetwas, ich frage, es könnte einige Speicherlecks sein, jede Möglichkeit, das zu verfolgen? Tut mir leid für den langen Beitrag. Danke!

Antwort

0

WebRTC spielt das Audio (Remote Audio Track) im Standard-Ausgabegerät (Ohrhörer/Lautsprecher/Kopfhörer/Bluetooth) ab, Sie können eines aus Ihrer Anwendung auswählen.
Die von Ihnen vorgenommenen Änderungen wirken sich auf alle anderen Apps aus, die auf diesem Gerät ausgeführt werden, und umgekehrt.

Sie müssen die Android AudioManager erweitern, um Ausgabegeräte während des Anrufs automatisch zu wechseln.
ZB: Lautsprecher für Video/Klingelton, Ohrhörer für Audioanruf/Nähe & Headset/Bluetooth, wenn sie verbunden sind.

Verwenden Sie BroadcastReceiver, um Ereignisauslöser zu erhalten.
Siehe App AudioManager & Bluetooth Manager als Referenz.

Hinweis: Vergewissern Sie sich, dass Sie das Ausgabegerät zurücksetzen müssen, wenn der Anruf beendet ist oder bevor Ihre App beendet wird. Ansonsten wird es andere Apps beeinflussen.

+0

Hallo und danke für die Antwort. Ich habe es geschafft, das Audioproblem zu lösen, indem ich einen Rundfunkempfänger und einen Audiomanager benutzte, um zum Frontlautsprecher zurückzuschalten, aber aus irgendeinem Grund wechselte das Audiosignal manchmal von selbst auf Lautsprecher zurück und es ist sehr zufällig –

Verwandte Themen