NEWS
[Frage] Internetradio - wie geht das ?
-
Ich muss diesen Tread noch einmal noch holen. Ich habe auf meinem Android Tablet einen Musical Player Deamon laufen. Dieser ist auch unter der IP meines Tablets Port 6600 erreichbar. Ich habe auch schon einen Stream erfolgreich zu laufen gebracht. Aber irgendwie kann ich diesen nun nicht mehr stoppen. Was mir auch aufgefallen ist, der Stream wird nur hörbar wenn der Deamon im Vordergrund ist.
Gesendet von meinem B3-A30 mit Tapatalk
-
@Jey Cee:…
Ich seh hier 3 Möglichkeiten:
1. Tasker nutzen um den Stream auf dem Tab wieder zu geben oder eine APP damit zu steuern.
2. Eine upnp fähige APP und den upnp Adapter nutzen.
3. Einen web player bauen der im view integriert ist.
Im Grunde sind alle drei Lösungen gleich schwierig in der Umsetzung, aber Lösung 3 hat den Nachteil das die Steuerung ausschließlich vom view aus möglich ist.
Daher empfehle ich 1 oder 2.
Gesendet von meinem m8 mit Tapatalk `
ich würde gern auf meinem Android Tablet einen entsprechede upnp-APP installieren.
Ich habe jetzte schon einige stunden in Google Play zugebracht aber hab bisher noch nichts finded können was auch
im upnp Adapter erkannt wird…
Da das Tablet in der Küche an der wand hängt und ein Bluetooth-Lautsprecher angeschlossen werden soll, würdew ich gern
ein Webradio in meinen View einbauen...
Gruß
Sveni_Lee
-
Bubble Upnp ist der upnp player für Android. Hast du den schon versucht? Bei mir geht er.
Für den player hab ich auch ein Skript geschrieben um ihn mit vis zu nutzen. Heut abend kann ich dir dazu eine Ausführliche Anleitung geben.
-
Wenn der Adapter läuft und der Player wird nicht erkannt, starte den Adapter neu dann sollte er auf jedenfall erkannt werden.
-
Super der wird gefunden…
Wäre toll wenn Du mir dafür die Anleitung geben könntest....
Gesendet von meinem B3-A30 mit Tapatalk
-
Wäre toll wenn Du mir dafür die Anleitung geben könntest…. `
So jetzt hier mal die Anleitung:
- Skript anlegen (JavaScript Adapter) und anpassen. Du musst nur die erste Zeile, das Gerät welches du steuern willst, und die zweite Zeile, wo die Hilfsobjekte erstellt werden, anpassen.
var device = "upnp.0.BubbleUPnP_Media_Server_(Tab2A7-10F); //Hier das upnp Gerät eintragen das gesteuert werden soll. var control = '0_userdata.0.Tab2'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen var oldVol; //createState(name, initialValue, forceCreation, common, native, callback); createState(control + '.MediaControl.Play', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.play'}); createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.pause'}); createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.stop'}); createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_up'}); createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_down'}); createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.mute'}); createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: 'true', write: 'true', role: 'button.mute'}); on({id: control + '.MediaControl.Play', val: true }, function(obj) { //Wiedergabe starten setState(device + '.MediaRenderer.AVTransport.Play.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Play.Speed', 1); setState(device + '.MediaRenderer.AVTransport.Play', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.Pause', val: true }, function(obj) { //Wiedergabe pausieren setState(device + '.MediaRenderer.AVTransport.Pause.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Pause', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.Stop', val: true }, function(obj) { //Wiedergabe stoppen setState(device + '.MediaRenderer.AVTransport.Stop.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Stop', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Vol_UP', val: true }, function(obj){ oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden //neue Lautstärke senden setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol); setState(device + '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Vol_Down', val: true }, function(obj){ oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden //neue Lautstärke senden setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol); setState(device + '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Mute', val: true }, function(){ var oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val; if(oldMute == 0){ setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 1); setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send'); //oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; }else{ setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send'); } setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.MediaURL' }, function(obj){ setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.newState.val); setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI', 'send'); });
- Steuerelemente in einer view anlegen. Anbei findest du Beispiel Widgets, du musst noch die Objekt IDs anpassen.
[{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Vol_UP","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"javascript.0.Archos_Tab.Akkustand","caption":"Lauter","captionOn":"Lauter","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive","g_leftRight":false,"timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","descriptionLeft":"javascript.0.WMP_lenovo.Vol_UP"},"style":{"left":"203px","top":"285px"},"widgetSet":"hqwidgets"},{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Vol_Down","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Leiser","captionOn":"Leiser","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15"},"style":{"left":"375px","top":"285px"},"widgetSet":"hqwidgets"},{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Mute","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Mute","captionOn":"Mute","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15"},"style":{"left":"289px","top":"285px"},"widgetSet":"hqwidgets"},{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Play","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Play","captionOn":"Play","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive"},"style":{"left":"202px","top":"212px"},"widgetSet":"hqwidgets"},{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Pause","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Pause","captionOn":"Pause","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive"},"style":{"left":"288px","top":"212px"},"widgetSet":"hqwidgets"},{"tpl":"tplHqButton","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.WMP_lenovo.Stop","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Stop","captionOn":"Stop","visibility-oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.Alive"},"style":{"left":"374px","top":"212px"},"widgetSet":"hqwidgets"},{"tpl":"tplJquiInputSet","data":{"oid":"javascript.0.WMP_lenovo.MediaURL","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","buttontext":"OK","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"title":"Media Pfad: ","size":"33"},"style":{"left":"94px","top":"368px","color":"#ffffff","width":"475px","height":"40px"},"widgetSet":"jqui"},{"tpl":"tplValueString","data":{"oid":"upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.AVTransport.CurrentMediaDuration","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html_prepend":"Dauer: "},"style":{"left":"374px","top":"169px","color":"#ffffff","width":"116px","height":"19px"},"widgetSet":"basic"}]
- Erweiterung/Anpassung an deine Bedürfnisse. Zurzeit gibt es noch keine Playlist funktion, die muss noch erstellt werden. Dazu bin ich bisher noch nicht gekommen.
Eigentlich ist es ziemlich einfach wenn es um die reine Steuerung geht. Da Bubble upnp ein reiner Wiedergabe punkt ist muss die "Player" Funktionalität vom Steuerechner kommen. Das ist bei den meissten upnp fähigen Playern der Fall.
EDIT: Wichtig ist das die Stream URL so aussieht:
http://wdr-1live-diggi.icecast.wdr.de/wdr/1live/diggi/mp3/128/stream.mp3
m3u Play listen gehen nicht. Wenn man die m3u mit einem Text Editor öffnet sieht man die Stream URL im Klar text, die kann man benutzen.
Die URL kannst du im Objekt "MediaURL" eingeben und anschließend setzt du "Play" auf "true" dann wird der Stream oder die MP3 wieder gegeben.
-
erst einmal Danke für die Anleitung.
bisher hatte ich nur Blockly installiert. Ich habe dann jetzt versucht den javascript/nodeJS. das klappt leider nicht…
Ich bekomme einen Fehler bei der Installation.
2712_npm-debug.log -
Es gibt keinen Blockly Adapter nur den JavaScript Adapter, da ist Blockly mit drin.
Wenn du ein Skript anlegst, hast du rechts oben ein Auswahlfeld wo Blockly steht. Dort wechselte du zu JavaScript.
-
okay, soweit habe ich das jetzt hinbekommen.
jetzt habe ich noch eine Kleinigkeit, die ich noch nicht richtig verstanden habe.
Worauf müüsen jetzt die Objekt-ID in dem Widget verweisen? Benötige ich noch einen weiteren
"Rechner" auf den ich verweisen muss? oder ist das das von mir angelegte objekt?
-
Was meinst du mit "Rechner"?
Die Widgets müssen auf die vom Skript angelegten Objekte verweisen.
-
okay, war etwas umständlich formuliert…
bei mir sehen die Objekte vom upnp-Adapter so aus:
~~![](</s><URL url=)http://i.imgur.com/KvnqTf8.jpg" />
und mein selbst angelegtes Objekt wie folgt:
~~![](</s><URL url=)http://i.imgur.com/XfIH6x6.jpg" />
und das sind ersten beiden Zeilen in meinem Skript:
~~![](</s><URL url=)http://i.imgur.com/huzyrOw.jpg" />
und der play-Button (Widget)
! ````
[{"tpl":"tplHqButton","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","oid":"javascript.0.Tablet.MediaControl.Play","min":"false","max":"true","iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"pushButton":true,"oid-battery":"","caption":"Play","captionOn":"Play","visibility-oid":"upnp.0.BubbleUPnP_(B3-A30).MediaRenderer.Alive","name":"Radio","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","descriptionLeft":"javascript.0.Tablet.MediaControl.Play"},"style":{"left":"958px","top":"475px","z-index":"3"},"widgetSet":"hqwidgets"}]ergibt dann folgenden Fehler im Log… ![](http://i.imgur.com/qkUbRye.jpg)~~![](</s><URL url=)http://i.imgur.com/qkUbRye.jpg" /> Ich hoffe jetzt ist es besser nachzuvollziehen~~~~~~~~
-
Es sieht alles richtig aus.
Aber die Fehlermeldung wird nicht ganz angezeigt. Wenn du mit der Maus drüber gehst und kurz wartet sollte sie ganz zu sehen sein.
Eine mögliche Ursache wäre das die Remote Steuerung in den Einstellungen von Bubble Upnp deaktiviert ist.
Und es muss ein Titel bei Play Now zu sehen sein, also einer der schon mal gespielt wurde. Falls du keinen von iobroker aus gesetzt hast bevor du play drückst.
-
okay, das werde ich heute Abend mal überprüfen.
Warum werden eigendlich unter UPnP zwei Geräte auf dem B3-A30 angezeigt?
Ist es egal Welches ich benutze?
-
so ich habe jetzt mal den kompletten Wortlaut der Fehlermeldung:
! ````
Unexpected answer from upnp service: {'statusCode':500,'body':'s:ClientUPnPError501Current state of service prevents invoking that action.
Target host must not be null, or set in parameters..','headers':{'ext':'','content-type':'text/xml;charset=utf-8','server':'Linux/3.18.22
UPnP/1.0 BubbleUPnP/2.8.9','date':'Thu, 15 Jun 2017 15:59:26 GMT+00:00','content-length':'547','connection':'close'},
'request':{'uri':{'protocol':'http:','slashes':true,'auth':null,'host':'192.168.1.216:58645','port':'58645','hostname':'192.168.1.216',
'hash':null,'search':null,'query':null,'pathname':'/dev/9af0xxx/svc/upnp-org/AVTransport/action',
'path':'/dev/9af0xxx/svc/upnp-org/AVTransport/action',
'href':'http://192.168.1.216:58645/dev/9af0xxx/svc/upnp-org/AVTransport/action'},
'method':'POST','headers':{'Content-Type':'text/xml; charset='utf-8'','SOAPAction':''urn:schemas-upnp-org:service:AVTransport:1#Play'',
'USER-AGENT':'UPnP/1.0, ioBroker.upnp/0.3.5','content-length':266}}}
Sent message: {'uri':'http://192.168.1.216:58645/dev/9af0xxx/svc/upnp-org/AVTransport/action',
'headers':{'Content-Type':'text/xml; charset='utf-8'','SOAPAction':''urn:schemas-upnp-org:service:AVTransport:1#Play'',
'USER-AGENT':'UPnP/1.0, ioBroker.upnp/0.3.5'},'method':'POST','body':'01'} -
Ein Eintrag ist der player und der andere ist die Medienbibliothek vom player in Form eines Medien Servers.
Die Fehlermeldung deutet für mich darauf hin das die Remote Steuerung in den Einstellungen deaktiviert ist. Hast du da mal nachgeschaut?
-
Ja, ich denke schon das ich die Freigabe auf dem Tablet richtig erteilt habe…
Gesendet von meinem B3-A30 mit Tapatalk
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201706 ... 2a26dd.jpg">https://uploads.tapatalk-cdn.com/20170615/272fd04ad76870b4590919197d2a26dd.jpg</link_text>" /> -
So jetzt hab ich das mal nachgestellt. Der Fehler ist: Es ist einfach nichts da was er Wiedergeben kann.
@Jey Cee:Und es muss ein Titel bei Play Now zu sehen sein, also einer der schon mal gespielt wurde. Falls du keinen von iobroker aus gesetzt hast bevor du play drückst. `
-
aber ich habe doch die Url gesetzt… Ich sehe auch im Objektbaum kein Play Now
-
Dann gib mal direkt mit Bubble Upnp ein Lied wieder. Also direkt in der APP und stopp es wieder.
Danach mach play in iobroker. Wenn es jetzt geht liegt es an deinem link.
Poste den link mal hier.
-
@Jey Cee:Dann gib mal direkt mit Bubble Upnp ein Lied wieder. Also direkt in der APP und stopp es wieder.
Danach mach play in iobroker. Wenn es jetzt geht liegt es an deinem link. `
ja, das funktioniert…@Jey Cee:Poste den link mal hier. `
http://wdr-1live-diggi.icecast.wdr.de/w … stream.mp3den hab ich aus deinem Widget übernommen...