Frage Rufen Sie Audio Stream Änderung in Android 4.0 ICS auf


Ich habe an einem Projekt gearbeitet, das von Call-Stream-Modifikationen profitieren würde. Dies wurde wiederholt als unerreichbar angenommen, da die meisten Leute glauben, dass die Hardware-Schleife für das In-Call-Audio vollständig von der Haupt-MCU des Geräts getrennt ist.

Fragen wie Streamen Sie Audio zu einem Telefonanruf Android haben Antworten erhalten, die besagen, dass es unmöglich ist, auf den Ton zuzugreifen. Ich stimme zu, dass dies in der Android-API definitiv nicht möglich ist, aber es ist völlig unklar, ob die Hardware AKTUELL vollständig getrennt ist.

Der stackoverflow - Benutzer 'artsylar' sagte, dass sie in der Lage seien, die 'Framework - Schicht' von Android OS so zu modifizieren, dass aufgezeichnete Audiodaten in Anrufströme eingespeist werden, was einen großen Fortschritt bedeuten würde (siehe Spielen Sie einen Audioclip auf einen laufenden Anruf ab, artsylars Kommentar zu der ausgewählten Antwort). Wenn man davon ausgeht, dass der Erfolg von artsylar stimmt, gibt es definitiv eine Möglichkeit, den Audiofluss im Call-Stream zu steuern, indem das Framework modifiziert wird (ich nehme das Telefonie-Basis-Framework in der Android-Quelle an).

Grundsätzlich stimme ich völlig zu, dass das Ändern oder Steuern des Call-Streams von der Anwendungsebene aus nicht möglich ist. Ich bin jedoch daran interessiert, das Android OS in Framework oder Radio Interface Layer anzupassen; Artsylar scheint Erfolg gehabt zu haben, aber es gibt keine Erklärung in der Open-Literatur darüber, wie. Angesichts des aktuellen Stands der Android-Technologie, könnte jemand die oben genannten klären, ob die Kontrolle von Audio-Anruf ist möglich durch die Änderung der Kern Android OS, und einen guten Weg, um dieses Ziel zu erreichen?

Ich glaube, dass eine abschließende Klärung dieses Problems für die Open-Source-Community von großem Wert sein würde.

Vielen Dank!


27
2018-05-11 03:20


Ursprung


Antworten:


Es ist technisch möglich, auf einigen Plattformen Audio in den Sprachanruf-Uplink zu injizieren (zum Beispiel das MSM8960 und das APQ8064 von Qualcomm). Unterstützung besteht auf der Hardwareebene und auf der Gerätetreiberebene. Um diese Funktionalität jedoch für normale Anwendungen verfügbar zu machen, müssen Sie ein benutzerdefiniertes Android-ROM erstellen, in dem Sie alle erforderlichen Teile für den Benutzerbereich in den Java-Layern und den nativen Schichten von Android hinzugefügt haben.

Die kurze Antwort lautet also: Nein, es gibt keine Standardmethode, dies als App-Entwickler zu tun (egal, ob Sie SDK oder NDK verwenden).
Wenn Sie für einen OEM arbeiten oder auf andere Weise in der Lage sind, Ihre eigenen Android-ROMs zu erstellen und zu flashen, können Sie die Informationen, die Sie benötigen, wahrscheinlich von Ihrem Plattformanbieter erhalten.


11
2018-02-10 21:02



Es ist sehr schwierig, dies zu tun, da es sich um die Handhabung des Linux Kernals innerhalb des Android OS handelt.

Es gibt nicht nur keine API-Unterstützung, auch das Sicherheitsproblem ist nicht erlaubt.

Als ein Profi im Bereich Software Engineering, insbesondere die Programmierer, wir Nehmen Sie niemals an, dass irgendjemand erfolgreich ist und dass das entsprechende Projekt gültig ist, bis das Projekt getestet wird.

Das Streamen von Audio während des Anrufs kann das Problem des Datenschutzes und der Sicherheitsproblematik zwischen den Smartphone-Benutzern und dem Dienstanbieter von Telefonie hervorrufen


5
2017-09-29 01:29