Meine Anwendung wird in Abhängigkeit von Proben absolute Amplituden Volumen der aufgenommenen Audio-Messung.Android Mikrofonempfindlichkeit Wechsel nach Telefonanruf
Ich habe bemerkt, und unerwartetes Verhalten in android.media.AudioRecord
von Android SDK. Lassen Sie uns folgende Fluss annehmen:
- Anwendung gestartet wird
- Audio Volumen gemessen wird
- Telefonanruf beantwortet wird/gewählt
- Audio Lautstärke gemessen um das Mikrofon
Der Lärm wird wird von TV mit konstanter Lautstärkeeinstellung erzeugt. Die für Punkt 2 gemessenen Werte liegen im Bereich [55-65] und die für Punkt 4 gemessenen Werte liegen im Bereich [15-25] (siehe Audiovisualisierung für 2. und 4. unten).
Ich verstehe, dass es muss eine Lautstärkeeinstellung im Gange sein, wenn Anruf erfolgt. Ist es möglich, diese Anpassungen zu überwachen oder sie los zu werden?
Ich habe versucht, Automatische Verstärkungsregelung, aber es ist nicht auf meinem Nexus 5 unterstützt, und ich will es nicht, da die Zielgeräte verwenden, ist es vielleicht nicht so gut unterstützen.
aktualisieren Diese Volumeneinstellung geschieht nicht erst nach Anruf. Ich habe gerade das gleiche Verhalten bemerkt, als das Telefon gerade auf dem Tisch lag und die Lautstärke gemessen hatte.
Sie haben völlig Recht mit gemeinsam genutzten Ressourcen wie Mikrofon vorsichtig zu sein. Was meinst du genau in 1.? Ich berechne die Lautstärke für jedes aufgenommene Sample, es ist keine UI-Einstellung. Die andere Sorge, die ich habe, ist, dass der Gewinn die Klangqualität nicht erhält. –
Für 1 - speichern Sie die alle Mikrofoneinstellungen Sie für jede Aufnahme benötigen und es einmal kehrt Ihre App in den Vordergrund wiederherstellen. – FunkSoulBrother
Danke für deine Ideen @FunkSoulBrother.Das sind gültige Vorschläge, aber das Hauptproblem für mich ist in einem ** Update ** Teil hervorgehoben. Die Sensitivitätsänderung trat bei mir ohne Telefonanruf ein - die App war im Vordergrund und das Telefon hatte nicht einmal eine SIM-Karte. Ich muss während der Aufnahme einen konstanten Qualitätssound liefern. –