Senden Sie aufgenommenes Audio als Mikrofoneingang

8

Was muss ich schreiben, um eine aufgenommene Audiodatei als Mikrofoneingang in Android programmgesteuert zu senden?

Beispiel:

Benutzer zeichnet "Hallo Welt" auf.

Er kann dann die Aufnahme in einem Anruf abspielen.

    
user3635998 06.03.2017, 15:23
quelle

2 Antworten

7

Sobald Sie eine aufgenommene Datei haben, können Sie sie als InputStream oder auf andere Weise öffnen. ABER wenn Sie speziell nach etwas suchen, das Audio in einen laufenden Anruf einfügt, , ist dies nicht möglich. es ist geschütztes Betriebssystem-Level.

Es sei denn, Sie haben mit benutzerdefinierten ROMs und modifizierten Kernels zu tun. was nicht offiziell ist

    
Yazan 16.03.2017, 10:42
quelle
0

Dies könnte Sie in die richtige Richtung schicken.

AudioManager.OnAudioFocusChangeListener mit diesem können Sie den Status des Audiomanagers im folgenden Code "focusChange = AUDIOFOCUS_LOSS_TRANSIENT" abrufen (dieser Zustand wird aufgerufen, wenn Musik im Hintergrund abgespielt wird, wenn ein eingehender Anruf kam). Dieser Zustand ist vollständig in der Hand des Entwicklers Spielen oder pausieren Sie die Musik. Wie bei Ihrer Frage, wie bei der Frage, haben Sie gefragt, ob Sie die Musik wiedergeben möchten, wenn der Anruf in OFFHOOK STATE ist. Pausieren Sie die Musik nicht im OFFHOOK STATE. Und dies ist nur möglich, wenn das Headset deaktiviert ist

%Vor%
  

Das Konzept der Verwendung eines Audiotreibers (dies ist für Windows, aber es könnte sein   Arbeit für Android)

Genauso wie es Druckertreiber gibt, die überhaupt keine Verbindung zu einem Drucker herstellen, sondern in eine PDF-Datei schreiben, gibt es virtuelle Audiotreiber, die keine Verbindung zu einem physischen Mikrofon herstellen, aber Input von anderen Quellen leiten können wie Dateien oder andere Programme.

Ich hoffe, ich breche keine Regeln, indem ich freie Software empfehle, aber VB-Audio Virtual Cable sollte es Ihnen ermöglichen, ein Paar virtuelle Ein- und Ausgabegeräte zu erstellen. Dann könnten Sie eine MP3 in das virtuelle Ausgabegerät einspielen und dann das virtuelle Eingabegerät als Ihr "Mikrofon" einstellen. Theoretisch sollte das funktionieren.

Wenn alles andere fehlschlägt, können Sie immer Ihren eigenen virtuellen Audiotreiber rollen. Microsoft bietet einige Beispielcode, aber leider ist es nicht für das ältere Windows XP-Audio-Modell anwendbar. Es gibt wahrscheinlich auch einen Beispielcode für XP.

    
Pieter de Vries 16.03.2017 17:07
quelle

Tags und Links