Eine einfache Hintergrunddienst, der jede Wiedergabe auf dem globalen AudioMix erkennt und öffnet dann die BluetoothSco Kanal, so dass die Audio auf Ihrem Mono-Bluetooth-Gerät (Hands Free Profile) gespielt wird.
Idee
Aktivieren Sie die dynamische Wiedergabe aller Medien-Sound auf dem Bluetooth-Gerät. Speziell für die Richtungsführung Ihrer Navigationssoftware. Der Bluetooth-Kanal sollte geöffnet werden, wenn eine Wiedergabe gestartet und geschlossen wird, nachdem die Wiedergabe beendet.
Vergleich zu ähnlichen Anwendungen:
Alle anderen Apps, die ich gesehen habe, sind nicht dynamisch oder (nehme ich an) verwenden, um die isMusicActive () Funktion, die in der Tat nicht zuverlässig ist. Deshalb verwende ich die Visualizer API sicher bestimmen anonymisierten Daten aus dem globalen AudioMix und kann zu greifen, wenn Audio abgespielt wird. Die Visualizer-API-Funktion ich verwende, ist seit API-Ebene nur 19 (Kitkat - Android 4.4). Für API-Ebenen unterhalb Ich verwende die isMusicActive () Funktion auch.
Staat basierte Umleitung
Der Service ist nur startbar, wenn die Bluetooth-Adapter eingeschaltet ist, alles andere keinen Sinn, es würde machen würde? Die Umleitung beginnt nur, wenn ein Bluetooth-Gerät in die Hände frei Bluetooth-Profil verbunden ist. Wenn die Hände frei Verbindung nicht verfügbar ist mehr die Umleitung stoppt.
Statische Umleitung
Wenn Sie diese Option wählen, wird die Audio-Umleitung starten, sobald Sie den Dienst starten und nur mit dem Dienst beendet wird. Keine Audioinformationen analysiert.
Wenn Sie die Wiederverbindung nach Call-Option wählen, der Dienst selbst neu gestartet, nachdem ein Sprachanruf beendet wird (die Telefon App hat Vorrang vor der sco-Kanal). Der Dienst startet auch, wenn Sie den "Ruf" für die Medien Umleitung beenden. Diese Option ist in Kombination mit statischen Umleitung verfügbar.
Intent zum Starten / Stoppen des Dienstes
Es ist wirklich ganz einfach! Senden der folgenden Absichten
& Bull; net.philipp_koch.dynamicmediabtrouter.ON
& Bull; net.philipp_koch.dynamicmediabtrouter.OFF
Voraussetzungen:
& Bull; ein Android-Gerät mit dem minimalen API Stufe 11 (Honeycomb - Android 3.0)
- API-Ebene 18 (Jelly Bean - Android 4.3) für einen rohen Bluetooth-Stream. Niedrigere Version können Sie auffordern, die "Anruf" zu akzeptieren
- API Stufe 19 (Kitkit - Android 4.4) für Audio-Erkennung über die Visualizer-API.
& Bull; ein Bluetooth-Gerät, das die Hände frei Profil unterstützt (in der Regel Headsets oder Auto Freisprecheinrichtungen)
& Bull; Keine Task-Manager! Sie sind Mist und sonst nichts! Sie töten den Hintergrunddienst so nicht beschweren!
Die Arbeit als entworfen (dynamischer Modus)
Wenn Sie den "Aufruf" die Umleitung endet nicht stoppen und Audio wird geleitet nirgendwo. Da die App für Navigations-Apps gedacht war dies ein nützliches Design:
Wenn die Umleitung startet und Sie bereits der Informationen bewusst sind, präsentiert man konnte den "Ruf" so bald enden beginnt es. Nachdem die Informationen der Service schließt den Kanal wie gewohnt gespielt wird und es wieder öffnen, sobald Ton erkannt wird.
Wenn Sie die App verwenden, um Musik für eine laufende Zeit umleiten und Sie am Ende die "Anruf" aus Versehen haben Sie die Musik Pause für mindestens ein paar Sekunden. Der Dienst wird die Umleitung zu stoppen und erneut starten, wie Sie spielen drücken.
Sie erleben eine schlechte Audioqualität
Ich kann das nicht beheben. Die Hände frei Profil ist nicht für die hohe Qualität bestimmt. Sie haben stattdessen A2DP nutzen zu können!
Was tun übrig zu?
&Stier; Stop-Service von der Anmeldung
Aktualisiert am
27.01.2018