NEWS
[gelöst] WAV-Datei auf Chromecast abspielen
-
Hallo,
wenn ich das Objekt chromecast.0.Google_Home.player.url2play direkt von Hand mit der URL der WAV-Datei beschreibe (im Objekte-Baum) wird die Datei problemlos abgespielt.
Wenn ich das aus einem Javascript heraus versuche, klappt das nicht. Es wird bestenfalls einmalig abgespielt. Weitere Abspielversuche schlagen fehl.
Wie kann ich ein Verhalten wie bei der manuellen Eingabe der URL innerhalb von Javascript erreichen?
Aktuell verwende ich zum Setzen des Objekts:
setState('chromecast.0.Google_Home.player.url2play','http://192.168.178.252/out.wav');Tschau
Uwe -
@uweklatt Ist das ein eigener http-Server?
Versuch malsetState('chromecast.0.Google_Home.player.url2play','http://192.168.178.252/out.wav', true);
-
@mcu
Mit "true" wird leider gar nichts abgespielt. -
@uweklatt Im Browser wird die Datei http://192.168.178.252/out.wav abgespielt?
-
Als Fehler kommt dann beim 2. Abspielversuch:
chromecast.0 2024-05-30 16:55:03.527 error Google_Home - Cannot play file "http://192.168.178.252/80.wav": Error: queueLoad failed chromecast.0 2024-05-30 16:55:03.526 error Google Home - Error playing playlist - Error: queueLoad failed at /opt/iobroker/node_modules/castv2-client/lib/controllers/media.js:149:23 at fn.onmessage (/opt/iobroker/node_modules/castv2-client/lib/controllers/request-response.js:27:7) at fn.emit (node:events:529:35) at fn.emit (node:domain:489:12) at Channel.onmessage (/opt/iobroker/node_modules/castv2-client/lib/controllers/controller.js:16:10) at Channel.emit (node:events:517:28) at Channel.emit (node:domain:489:12) at Client.onmessage (/opt/iobroker/node_modules/castv2/lib/channel.js:23:10) at Client.emit (node:events:529:35) at Client.emit (node:domain:489:12)
Ich habe inzwischen bei jedem Abspielversuch einen anderen Dateinamen (hier 80.wav) verwendet.
-
@uweklatt Ist IP 192.168.178.252 vom eigenen Server oder die vom ioBroker-Server?
-
@mcu
Das ist ein eigener Server im lokalen Netz. Es ist nicht der ioBroker Server. -
@mcu sagte in WAV-Datei auf Chromecast abspielen:
@uweklatt Im Browser wird die Datei http://192.168.178.252/out.wav abgespielt?
Sie wird zum Download angeboten und kann auch nach dem Herunterladen abgespielt werden.
-
@uweklatt Von welchem Server? Dann evtl zwischenspeichern für ioBroker?
-
@mcu sagte in WAV-Datei auf Chromecast abspielen:
@uweklatt Von welchem Server? Dann evtl zwischenspeichern für ioBroker?
Die Dateien werden dynamisch auf dem anderen Server generiert und ich würde sie gerne direkt von dort abspielen.
Der erste Abspielversuch nach dem Neustart der Chromecast-Instanz funktioniert problemlos.
-
Sie wird zum Download angeboten und kann auch nach dem Herunterladen abgespielt werden.
Eigentlich sollte die Datei direkt abgespielt werden.
Ansatzpunkte:
Also scheint irgendwo eine Einstellung falsch zu sein?
Welcher Server ist das, Apache?
Entweder man muss dort nach den Einstellungen schauen oder die Datei immer zwischenspeichern, damit ioBroker(chromecast) darauf Zugriff hat.Warum es beim ersten Abspielversuch nach Neustart funktioniert, lässt dadurch nicht erklären?
Kann man prüfen, wenn man in dem DP vor Neustart nichts eingetragen hat, neustartet und dann erst den Eintrag (URL) in den DP(chromecast.0.Google_Home.player.url2play
) setztEDIT: ist das Verhalten auch bei mp3-Dateien?
-
@mcu
Wenn ich den Eintrag (URL) im DP url2play manuell setze, wird alles abgespielt, wie es soll. Nur aus dem Script heraus funktioniert es nicht.MP3 habe ich nicht getestet.
Das könnte mit der Playlistverwaltung zusammenhängen.
2024-05-30 17:24:21.218 - error: chromecast.0 (229201) Google Home - Error playing playlist - Error: queueLoad failed at /opt/iobroker/node_modules/castv2-client/lib/controllers/media.js:149:23 at fn.onmessage (/opt/iobroker/node_modules/castv2-client/lib/controllers/request-response.js:27:7) at fn.emit (node:events:529:35) at fn.emit (node:domain:489:12) at Channel.onmessage (/opt/iobroker/node_modules/castv2-client/lib/controllers/controller.js:16:10) at Channel.emit (node:events:517:28) at Channel.emit (node:domain:489:12) at Client.onmessage (/opt/iobroker/node_modules/castv2/lib/channel.js:23:10) at Client.emit (node:events:529:35) at Client.emit (node:domain:489:12) 2024-05-30 17:24:21.218 - error: chromecast.0 (229201) Google_Home - Could not play announcement: Error: queueLoad failed
-
@uweklatt sagte in WAV-Datei auf Chromecast abspielen:
Playlistverwaltung
Welche? Du gibst doch immer die neue URL ein, oder?
-
@mcu
ja, ich gebe nur die jeweils neue URL ein.
Das es etwas mit der internen Playlistverwaltung des Adapters zu tun hat, ist nur eine Vermutung anhand der Fehlermeldungen. -
@uweklatt Ich habe es jetzt mal nachgestellt.
Bei mir funktioniert es normal mit setState.let chromecastDP = 'chromecast.0.Büro_TV.player.url2play' let title = 'http://192.168.178.170/download/mp3/GeilesLeben.mp3' let title2 = 'http://192.168.178.170/download/mp3/Applaus.wav' setState(chromecastDP,title2);
Hast du evtl den Adapter vor Kurzem upgedatet? Dann ein upload laufen lassen.
-
@mcu
Danke für Deine Bemühungen!Ich glaube, ich habe das Problem inzwischen gefunden!
Die dynamische Generierung war anscheinend noch nicht ganz fertig, als das Script bereits versucht hat, die Datei abzuspielen.
Da hat mich das asynchrone Verhalten von httpGet etwas genarrt...Vielen Dank
Uwe