MP3-Datei abspielen

Aus FHEMWiki
Version vom 12. Januar 2023, 12:38 Uhr von Pahenning (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
RunRemoteMP3.jpg

Natürlich kann AutoMagic schon von sich aus Dateien abspielen, die lokal auf dem Android-Gerät liegen. Wenn man aber eine beliebige Datei abspielen möchte, muss diese erst hochgeladen werden. Dazu legt man einen einfachen Flow an.

Als Trigger verwendet man HTTP Request (Trigger Typ: HTTP Request). Dieser Trigger errichtet einen minimalen Webserver, der auf eingehende HTTP Requests wartet. Als Parameter gibt man an:

Pfad: /automagic/*
Port: 8080

und wählt die Checkbox WLAN aktiv halten aus.

Die erste Aktion im Flow ist dann das Stoppen eines gegenwärtig eventuell abgespielten Audiofiles (Aktion Typ: Stoppe Aktion Sound).

Die zweite Aktion im Flow ist die Extraktion des Dateinamens aus dem eintreffenden HTTP Request (Aktion Typ: Script)

Script: file_name=replace(request_path,'automagic/','')

Auf diese Aktion kann man im Prinzip verzichten, wenn man immer denselben lokalen Dateinamen wählt.

Die dritte Aktion im Flow ist das Verschieben der empfangenen Datei an die Stelle mit dem richtigen Namen (Aktion Typ: Dateien verschieben)

Quelldateien: {file_data}
Ziel: /storage/emulated/0/Automagic/httpd/{file_name}

oder

Ziel: /storage/emulated/0/Automagic/httpd/speech.mp3

bei festem Dateinamen.

Die letzte Aktion im Flow ist das Abspielen (Aktion Typ: Sound)

Datei: /storage/emulated/0/Automagic/httpd/{file_name}

oder

Datei: /storage/emulated/0/Automagic/httpd/speech.mp3

Um nun eine Datei auf das Android-Gerät hochzuladen und gleich abzuspielen, kann man das Linux-Hilfsprogramm curl benutzen. Der Aufruf auf der Linux-Kommandozeile muss lauten

curl -F "data=@<Vollständige Pfadangabe für die Datei>" http://<IP-Adresse des Android-Gerätes>:8080/automagic/speech.mp3