chrigu: per php winamp ansteuern?

hallo zusammen,
ich habe eine ziemlich spezielle idee, ich möchte per php den winamp-player ansteuern. besser gesagt, ich möchte, dass man auf der website (im lan) songs auswählen kann und diese in eine playlist im winamp importiert werden.. hat das jemand eine idee, wie ich das machen könnte?

gruss chrigu

  1. Hallo,

    ich habe eine ziemlich spezielle idee, ich möchte per php den winamp-player ansteuern. besser gesagt, ich möchte, dass man auf der website (im lan) songs auswählen kann und diese in eine playlist im winamp importiert werden.. hat das jemand eine idee, wie ich das machen könnte?

    Nur als Grundansatz: Winamp3 kann seine Playlists als XML-Dokumente speichern (.b4s), siehe: [http://www.styleassistant.de/tips/tip94.htm]. Vielleicht ergeben sich daraus weitere Ideen zum Lesen und Schreiben dieser Strukturen.

    MfG, Thomas

  2. Vielleicht hilft Dir diese Klasse ein wenig weiter:

    http://www.phpclasses.org/browse.html/package/661.html

    Kannst Du mich informieren, wenn Du Deine App fertig programmiert hast? Ich fänds ganz interessant.

    MfG,

    Sven Wagener
    http://www.dokuwelt.de

  3. Hallo!

    ich habe eine ziemlich spezielle idee, ich möchte per php den winamp-player ansteuern. besser gesagt, ich möchte, dass man auf der website (im lan) songs auswählen kann und diese in eine playlist im winamp importiert werden.. hat das jemand eine idee, wie ich das machen könnte?

    Das Problem an der Sache, PHP läuft auf dem Server, und Winamp auf den Clients. Du kannst nicht direkt auf programe des Clients von PHP aus zugreifen. Das einzige was Dir bleibt ist wie Thomas erwähnt hat aus der Auswahl eine entsprechende XML-Formatierte Playlist zu genereiern(serverseitig), diese dann über den Download-Dialog runterladen und speichern lassen, und dann muß der User diese noch manuell in Winamp laden. Mich würde es sehr wundern wenn Du das besser hinbekomst!

    Grüße
    Andreas

  4. ich habe eine ziemlich spezielle idee, ich möchte per php den winamp-player ansteuern. besser gesagt, ich möchte, dass man auf der website (im lan) songs auswählen kann und diese in eine playlist im winamp importiert werden.. hat das jemand eine idee, wie ich das machen könnte?

    Ich weiss nicht ob PHP entsprechende Module mitbringt, mit denen man Windows auf der API-Ebene ansprechen kann. Perl tut das und ich habe mir mal ein Modul geschrieben, das es mir in Kombination mit anderen Modulen erlaubt, Winamp über diverse Extratasten meines Notebooks zu kontrollieren. Das Modul sieht prinzipiell so aus:

    package My::Win32::Winamp;

    use 5.006;
    use strict;
    use warnings;
    use Win32::GUI;

    use constant WINAMP_PREV  => 40044;
    use constant WINAMP_NEXT  => 40048;
    use constant WINAMP_PLAY  => 40045;
    use constant WINAMP_STOP  => 40047;
    use constant WINAMP_PAUSE => 40046;
    use constant WINAMP_VOLUP => 40058;
    use constant WINAMP_VOLDN => 40059;

    use constant WM_USER      => 0x400;

    require Exporter;

    our @ISA = qw(Exporter);
    our $VERSION = '0.01';

    sub new    { bless{}, shift }
    sub winamp { Win32::GUI::FindWindow('Winamp v1.x', '') }

    sub play_or_pause
    {
        my $self = shift;
        my $state = Win32::GUI::SendMessage($self->winamp, WM_USER, 0, 104);
        $state == 1 ? $self->pause : $self->play
    }

    sub stop  { Win32::GUI::PostMessage(shift->winamp, WM_COMMAND, WINAMP_STOP,  0) }
    sub prev  { Win32::GUI::PostMessage(shift->winamp, WM_COMMAND, WINAMP_PREV,  0) }
    sub next  { Win32::GUI::PostMessage(shift->winamp, WM_COMMAND, WINAMP_NEXT,  0) }
    sub play  { Win32::GUI::PostMessage(shift->winamp, WM_COMMAND, WINAMP_PLAY,  0) }
    sub pause { Win32::GUI::PostMessage(shift->winamp, WM_COMMAND, WINAMP_PAUSE, 0) }

    sub vol_up
    {
        my $self = shift;
        my $perc = shift;
        $perc ||= 4;
        Win32::GUI::SendMessage($self->winamp, WM_COMMAND, WINAMP_VOLUP,  0) for 1..$perc;
    }

    sub vol_down
    {
        my $self = shift;
        my $perc = shift;
        $perc ||= 4;
        Win32::GUI::SendMessage($self->winamp, WM_COMMAND, WINAMP_VOLDN,  0) for 1..$perc;
    }

    sub DESTROY { }

    1;
    __END__