+ Antworten
Seite 7 von 46 ErsteErste ... 5 6 7 8 9 17 ... LetzteLetzte
Ergebnis 61 bis 70 von 457
  1. #61
    Registriert seit
    Sep 2009
    Ort
    Hannover
    Beiträge
    525

    Ich hab das oben korrigiert: Leider liefert GetMediaInfo nur NOT_IMPLEMENTED.

    Wenn Du in Deinen PHP Skripten die Player durchgehst, wirst Du bei den Slaves einer Zone als Transport URI die Rincon des Coordinators erhalten. Diese Info nutze ich um mir so ein Array mit den aktuellen Gruppen und den Verknüpfungen zu erstellen - kannst Du sicher auch so machen.
    IP-Symcon V4.x_uLd , div. HM+FS20, Irtrans, EEETop 1611, Linksys WRT, div. Sonos, Iphones + Ipads
    http://www.ip-symcon.de/wiki/Hauptseite
    PHPSonos / br_Sonos: Bitte bei Problemen Datum der Dateien angeben.

  2. #62
    Registriert seit
    Mar 2011
    Beiträge
    33

    Hi Benjamin, nach einigen Änderungen einfach mal den ganzen Beitrag überarbeitet:

    Anpassungen in GetPlaylist($value)
    interpret wird zu artist
    titel wird zu title

    Bei GetTransportSettings() folgende Zeile gelöscht:
    PHP-Code:
    echo "\n===" $this->address"====\n" $returnContent "\n===\n"
    Dann bei GetImportedPlaylist habe ich die Substring wieder eingebaut, da ich im Titel die ".m3u" nicht haben möchte.
    Wenn das bei Dir anders ist, dann sollten wir einen Schalter einbauen.
    Die Funktionalitäten wie URI funktionieren natürlich es geht nur um die Anzeige.

    Hast Du andere Importierte Playlisten? bei mir sind das name.m3u

    Gruß
    Ta Lun

    PHPSonos.inc_110329.zip
    Geändert von Ta Lun (29.03.11 um 20:59 Uhr)

  3. #63
    Registriert seit
    Sep 2009
    Ort
    Hannover
    Beiträge
    525

    Zitat Zitat von Ta Lun Beitrag anzeigen
    Ich habe gerade beim anpassen an die neue Version festgestellt, das bei

    public function GetPlaylist($value)
    Noch Titel statt Title verwendet wird.
    Ich habe das bei mir schon angepasst.


    EDIT:
    Bei GetTransportSettings(); habe ich die folgende Zeile gelöscht.
    PHP-Code:
    echo "\n===" $this->address"====\n" $returnContent "\n===\n"
    OK, habe ich beides bei mir auch korrigiert. Der Interpret heißt jetzt auch Artist, wie in den anderen Funktionen.

    Die AudioIn Methoden zum Abfragen der Daten hast Du ja vielleicht schon gesehen?! Hab gerade rausgefunden, man kann unkompliziert den Player zum Abspielen des Line-In Signals bringen mit:
    PHP-Code:
    $sonos->SetAVTransportURI("x-rincon-stream:RINCON_000E5832FB5C01400"); 
    ... wobei das "-stream" hier auf den Input leitet.
    IP-Symcon V4.x_uLd , div. HM+FS20, Irtrans, EEETop 1611, Linksys WRT, div. Sonos, Iphones + Ipads
    http://www.ip-symcon.de/wiki/Hauptseite
    PHPSonos / br_Sonos: Bitte bei Problemen Datum der Dateien angeben.

  4. #64
    Registriert seit
    Mar 2011
    Beiträge
    33

    hehe ok das ist echt einfach ;-)

    Und da hat sich bei mir der Fehlerteufel eingeschlichen:
    In Zeile 1056 habe ich beim Kopieren das $titel nicht angepasst auf $title

    PHP-Code:
    // br substring use cuts my playlist names at the 4th char
        
    $liste[$i]['title'] = substr((string)$title[0],0,-4); 

  5. #65
    Registriert seit
    Sep 2009
    Ort
    Hannover
    Beiträge
    525

    Dann bei GetImportedPlaylist habe ich die Substring wieder eingebaut, da ich im Titel die ".m3u" nicht haben möchte.
    Wenn das bei Dir anders ist, dann sollten wir einen Schalter einbauen.
    Die Funktionalitäten wie URI funktionieren natürlich es geht nur um die Anzeige.

    Hast Du andere Importierte Playlisten? bei mir sind das name.m3u
    Meine PL sind aus Itunes importiert und haben kein .m3u im Namen. Deine Original Routinen haben bei mir den Namen der PL auf 4 Zeichen gekürzt und nicht nur die Endung abgeschnitten - versuche mal folgendes (ca. Zeile 1059):
    PHP-Code:
                $liste[$i]['title'] = (string)$title[0];
                                    
    $liste[$i]['title']=preg_replace("/^(.+)\.m3u$/i","\\1",$liste[$i]['title']);

                
    $liste[$i]['typ'] = "Import";
                
    $liste[$i]['file'] = (string)$xml->container[$i]->res
    Klappt das?
    Geändert von bengie (29.03.11 um 21:24 Uhr)
    IP-Symcon V4.x_uLd , div. HM+FS20, Irtrans, EEETop 1611, Linksys WRT, div. Sonos, Iphones + Ipads
    http://www.ip-symcon.de/wiki/Hauptseite
    PHPSonos / br_Sonos: Bitte bei Problemen Datum der Dateien angeben.

  6. #66
    Registriert seit
    Mar 2011
    Beiträge
    33

    Perfekt So muß es sein.
    Das heißt, der schmeißt bei den Itunes Playlisten die Endung weg oder haben die sowas nicht?


    Ich bin gerade ein wenig am Überlegen wie ich das Browsen am besten realisieren kann und bin mir nicht klar wie der Filter funktioniert, wenn man z.B. bei Objekt ID A:ARTIST übergibt funktioniert der Filter irgendwie nicht...

    Hast Du da ne Idee??

  7. #67
    Registriert seit
    Sep 2009
    Ort
    Hannover
    Beiträge
    525

    Zitat Zitat von Ta Lun Beitrag anzeigen
    Perfekt So muß es sein.
    Das heißt, der schmeißt bei den Itunes Playlisten die Endung weg oder haben die sowas nicht?


    Ich bin gerade ein wenig am Überlegen wie ich das Browsen am besten realisieren kann und bin mir nicht klar wie der Filter funktioniert, wenn man z.B. bei Objekt ID A:ARTIST übergibt funktioniert der Filter irgendwie nicht...

    Hast Du da ne Idee??
    Mit meinem Regex wird nur .m3u weggeworfen. Die Itunes Pl stammen aus einer Datenbank und haben keine Endung im Titel.

    Bzgl. Browse:
    Eine Übersicht gibts´s hier z.B. Twonky und NAS - Ich werde wahnsinnig! - HTPC - Beisammen.de
    ... ich bekomme aber auch noch nicht das gewünschte Ergebniss.
    Da wird man vermutlich mal die Spezifikationen lesen müssen oder per Wireshark mitlesen...
    Grüße, Benjamin
    Geändert von bengie (07.04.11 um 21:41 Uhr)
    IP-Symcon V4.x_uLd , div. HM+FS20, Irtrans, EEETop 1611, Linksys WRT, div. Sonos, Iphones + Ipads
    http://www.ip-symcon.de/wiki/Hauptseite
    PHPSonos / br_Sonos: Bitte bei Problemen Datum der Dateien angeben.

  8. #68
    Registriert seit
    Mar 2011
    Beiträge
    33

    hehe ja Klar das Dein RegEx nur m3u wegschmeißt mir ging es um Sonos

    Danke schaue mir den Link mal genauer an.

  9. #69
    Registriert seit
    Sep 2009
    Ort
    Hannover
    Beiträge
    525

    Standard Erweiterte PHPSonos Klasse

    Ich habe der Klasse die notwendigen Änderungen spendiert um mittels IPS eine Meldung ausgeben zu können und zuverlässig danach eine Queue, PL oder einen Radiosender weiterzuspielen.

    Des Weiteren können Radiosender nun benannt werden und einige Funktionen ermöglichen zusätzlich weitere Funktionen oder geben weitere Informationen, welche per SOAP verfügbar sind.

    Historie:
    Code:
    - andre added setter functions
    - 110108  - br added comments based on UPNP information from devicespy;
    also added the function XMLsendPacket to get non filtered answers
    - 110120 - br added Set and GetLEDState
    - 110202 - br added GetZoneAttributes
    - 110202 - br added GetZoneInfo
    - 110203 - br added gestposinfo TrackURI (contains x-rincon of the zone master if we are slave)
    - 110206 - br added AddMember(Rincon...) and RemoveMember(Rincon...)
    - 110207 - br added RamptoVolume
    - 110208 - br added calculation of Content-Length to some functions
    - 110318 - br fiddled with Playmode (maybe fixed a bug)
    - 110318 - br added Get and Set CrossfadeMode
    - 110318 - br added SaveQueue
    - 110328 - ta lun added GetPlaylist($value)
    - 110328 - ta lun added GetImportedPlaylists()
    - 110328 - ta lun added GetSonosPlaylists()
    - 110328 - ta lun added GetCurrentPlaylist()
    - 110328 - br corrected titel to title and other things...
    - 110328 - br added optional parameter id to SaveQueue
    - 110406 - br edited Seek to accept UPNP Unit parameter as option (sec. arg is Target then)
    - 110406 - br edited GetPositionInfo to also reflect UPNP return value names
    - 110406 - br fixed non valid soap request in seek()
    - 110406 - br added return of CurrentURI and CurrentUriMetaData to GetMediaInfo (Current File or QUEUE)
    				This info is needed to restart a queue, pl or radiostation
    - 110407 - br consolidated SetRadio, SetQueue and SetAVTransportURI
    				two last now also Support MetaData as 2nd parameter; 
    SetRadio supports the name of a radiostation as second parameter

    Beispiel zur Meldungsausgabe:
    PHP-Code:
    $sonos = new PHPSonos("192.168.0.115"); //Sonos ZP IPAdresse

    $vol=$sonos->GetVolume();
    // br_TTS_Speak($IDMediaPlayer,"Test Meldung",1*1000);
    // Ramp down
    $sonos->SetVolume($vol/100*40);
    IPS_Sleep(100);
    $sonos->SetVolume($vol/100*10);

    // Saving off information
    $oldpi $sonos->GetPositionInfo();
    $oldmi $sonos->GetMediaInfo();

    $oldti $sonos->GetTransportInfo();

    // Setting AVT to IPS-Meldung
    $sonos->SetVolume($vol/100*70);
    $sonos->SetAVTransportURI("x-file-cifs://touch/IP-Symcon$/media/Meldung.wav");
    $sonos->Play();

    $sonos->SetVolume($vol);

    while (
    $sonos->GetTransportInfo()==1){    // Wait here for Meldung
        
    IPS_Sleep(30);
    }

    $sonos->SetVolume($vol/100*40);

    // Setting old queue
    $sonos->SetAVTransportURI($oldmi['CurrentURI'],$oldmi['CurrentURIMetaData']);
    try {
        
    // Seek TRack_Nr
        
    $sonos->Seek("TRACK_NR",$oldpi['Track']);
        
    // Seek REl_time
        
    $sonos->Seek("REL_TIME",$oldpi['RelTime']);
    } catch (
    Exception $e) {
        
    // Seek not posssible -maybe a radiostation?
    }
    // Only play if old pi is PLAYING
    if ($oldti==1$sonos->Play();
    $sonos->RampToVolume("AUTOPLAY_RAMP_TYPE",$vol) . "\n";

    ?> 
    Ergänzung Zone Groups:
    Die Zone Slaves geben die Meldung auch synchron aus und spielen synchron weiter. Das Zusammenfügen aller Zonen zur Group ist im o.g. Code nicht drin, sollte aber prinzipiell machbar sein! Vor dem Zusammenfügen müssten dann die entsprechenden pi/mi/ti Informationen je ZoneGroup weggespeichert werden um danach ohne Unterbrechnung fortsetzen zu können.

    (Beta Code für das WF und das Management von SONOS-Zonengruppen ist via Forumsuche zum Stichwort br_ips zu finden)

    Grüße, Benjamin
    Angehängte Dateien Angehängte Dateien
    Geändert von bengie (06.05.11 um 23:38 Uhr) Grund: Zone Group Ergänzung
    IP-Symcon V4.x_uLd , div. HM+FS20, Irtrans, EEETop 1611, Linksys WRT, div. Sonos, Iphones + Ipads
    http://www.ip-symcon.de/wiki/Hauptseite
    PHPSonos / br_Sonos: Bitte bei Problemen Datum der Dateien angeben.

  10. #70
    Registriert seit
    Mar 2011
    Beiträge
    33

    Hi,
    bin gerade noch beim schauen, was Du geändert hast aber folgendes ist mir schon aufgefallen:

    PHP-Code:
        if ($arg2=="NONE"){
            
    $Unit="REL_TIME"$position=$arg1;
        } else {
    $Unit=$arg1$position=$arg2;} 
    Halte das vorgehen für ein wenig unglücklich. Sollte $arg1 nicht immer position sein und arg2 die weiteren Parameter?

    Warum hast Du bei GetPositionInfo() den Bedarf z.B. duration umzubenennen bzw. jetzt zweimal auszugeben?

    Ansonsten schaue ich mir das am Wochenende etwas näher an mal sehen was ich da so entdecke ;-)

Ähnliche Themen

  1. Einzelne Sonos Player ansteuern
    Von paresy im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 43
    Letzter Beitrag: 25.04.16, 19:25
  2. UIO 88 über PHP in V2.0 ansteuern
    Von Schneider im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 7
    Letzter Beitrag: 21.09.08, 21:40

Stichworte