Philipp Grashoff: Musicplayer -> muss es Flash sein?

Hi Forum!

Ich habe eine kleine Frage:

Ich muss auf unserer Homepage einige Sounddateien einbinden, die leider nicht downloadbar sein duerfen (nicht mein Fehler - ich hasse sowas). Ich will nun also einen Player einbinden, bei dem man auf Knopfdruck verschiedene Lieder abspielen lassen kann. Sollte ich dazu am besten Flash benutzen, oder reicht auch n bisserl Javascript und HTML?

MFG

Philipp

  1. Moin!

    Ich muss auf unserer Homepage einige Sounddateien einbinden, die leider nicht downloadbar sein duerfen (nicht mein Fehler - ich hasse sowas).

    Wie du dir sicher denken kannst, gibts sowas nicht. Denn wenn die Daten auf irgendeine Weise zum Rechner gelangen, kann dieser die Daten speichern - und nichts anderes ist ein Download.

    Auch der Versuch, die Musik als Streaming anzubieten, ist nichts anderes als "Senden von Daten zum Rechner", was grundsätzlich auch gespeichert werden kann.

    Wenn man sich etwas besser auskennt (daß man dumme Besucher "reinlegen" kann, ist ja klar), dann kriegt man derartige Soundfiles eigentlich immer:

    Flash besteht aus SWF-Dateien. Auch wenn man aus denen keine WAV- oder MP3-Datei konvertieren kann, so kann man die SWF-Datei immer noch speichern (z.B. auch dem Cache fischen oder einfach einen Browser nehmen, der kein Plugin hat, und die Adresse der Datei aus dem Quelltext fischen, aufrufen und speichern.)

    Streaming-Player müssen auch irgendwie die Adresse der Sounddatei erhalten. Meist werden dazu ganz kurze Meta-Dateien eingebunden, in denen die Adresse des eigentlichen Sound steht. Man muß also in zwei Dateien nachsehen, wo es den Sound gibt: Zuerst im HTML-Quelltext die Adresse des Metafiles finden (z.B. .asx oder .ram), und dann im Quelltext dieses Files die Adresse des Medienstreamings. Wenn für das Streaming HTTP benutzt wird, gelingt der Download mit dem Browser. Wenn (z.B. für RealMedia) RTSP benutzt wird, kann man vielleicht stattdessen HTTP benutzen. Es gab allerdings auch mal einen Client, der RTSP konnte, sich als RealPlayer ausgab, und trotzdem das Speichern erlaubte.

    Wer auf solche Suchspielchen keinen Bock hat, läßt den Sound einfach genau wie vorgesehen abspielen und nimmt mit seiner Supa-Dupa-Soundkarte die unvermeidbare Soundausgabe direkt digital wieder auf und speichert auf Festplatte. Es gibt auch "Soundkartentreiber" wie TotalRecord, welche jegliche Soundausgabe zuerst mal auf Festplatte speichern, und vielleicht auch noch zur echten Soundkarte durchschleifen, damit man was hört. Die letzte, garantiert unvermeidliche Lösung ist, den Ton einfach analog abzugreifen, sei es per Line-Ausgang (und dann einspielen in einen zweiten Rechner), oder mit einem Mikrofon vor dem Lautsprecher.

    Ich will nun also einen Player einbinden, bei dem man auf Knopfdruck verschiedene Lieder abspielen lassen kann. Sollte ich dazu am besten Flash benutzen, oder reicht auch n bisserl Javascript und HTML?

    Nachdem du nun ausführlich weißt, daß man Musik im Internet nicht schützen kann, darfst du dir aussuchen, was du willst, um Musik anzubieten. Der Aufwand, die Songs zu speichern, steigt möglicherweise, wenn man RTSP und RealPlayer oder gar Flash nimmt, aber gerade bei Flash gibt es doch nichts schöneres, als den ordentlich designten Player gleich mitgeliefert zu bekommen. SWF-Datei starten, Player geht.

    Und wenn die Musik nachgeladen wird: Das kann man feststellen, dann greifen wieder die Methoden, irgendwie die Adresse der externen Datei festzustellen und diese zu speichern.

    - Sven Rautenberg

    1. Hi Sven!

      Wow, was eine Antwort! Vielen Dank!
      Es war mir klar, das man es nicht verhindern kann, dass einige schlaue Leute trotzdem die Souns bekommen, ich muss einfach nur irgendeine besch*ss*n* Streaming-Lösung bauen...

      Und meine Eigentliche Frage war:

      Muss ich dazu unbedingt sowas wie Real Player(ich hasse ihn) oder Flash benutzen, oder gehts auch mit HTML und Javascript?

      MFG

      Philipp

      1. Moin nochmal!

        Und meine Eigentliche Frage war:

        Muss ich dazu unbedingt sowas wie Real Player(ich hasse ihn) oder Flash benutzen, oder gehts auch mit HTML und Javascript?

        1.) Benutze das, was funktioniert.
        2.) Wenn die Lösung unter 1.) nicht gewünscht ist, mach es für angeblich böse Menschen zunehmend schwieriger, an die Musik zu gelangen. Also Streaming benutzen, statt eine Sounddatei per HTTP zu referenzieren, oder den Sound in Flash einbinden, etc.

        HTML kann keine Musik abspielen, genausowenig wie Javascript. Es ist immer ein Plugin oder ein externes Programm, was das tut. Irgendeinen Player brauchts also. Das muß nicht der RealPlayer sein, aber ExoticPlayer V0.3b sollte es auch nicht werden, weil den niemand installiert hat. Und die Bereitschaft, sich extra was zu installieren, ist bekanntlich gering. Der Windows Mediaplayer ist z.B. auch weit verbreitet, als dritten gibts noch Quicktime, und ansonsten kannst du vielleicht damit rechnen, daß z.B. ein MP3-Player installiert und mit dem Mimetyp "audio/mpeg" verbunden ist. Nur wäre das wohl eher downloadanregend als -verhindernd.

        - Sven Rautenberg

  2. hi

    Ich muss auf unserer Homepage einige Sounddateien einbinden, die leider nicht downloadbar sein duerfen (nicht mein Fehler - ich hasse sowas). Ich will nun also einen Player einbinden, bei dem man auf Knopfdruck verschiedene Lieder abspielen lassen kann. Sollte ich dazu am besten Flash benutzen, oder reicht auch n bisserl Javascript und HTML?

    Das nicht Downloadbar kannst du, wie schon gesagt vergessen. Solange der Sound in einer Datei steht, ist er downloadbar (sonst kann ihn der Empfänger ja auch nicht abspielen)
    Variante 2 wäre eine Streaming-Lösung, aber wenn man will kann man da immer noch munter alles aufzeichnen (und sei es mit dem Umweg über eine analoge Aufzeichnung).

    gruss Kai

    1. versuch mal mein script:

      <html>

      <head>

      <title>Sound</title>

      <script language="JavaScript">

      function playsound(soundname)
      {
      var spielesound=eval('document.'+soundname);
      spielesound.play();
      }

      </script>

      </head>

      <body>

      <embed src="titel1.mid" hidden="true" name="erstertitel">

      <!-- weitere Titel so einbinden -->

      <a href="javascript:playsound('erstertitel')">´Titel 1 abspielen</a>

      </body>

      </html>

      MFG,

      Jakob

      1. hi

        <embed src="titel1.mid" hidden="true" name="erstertitel">

        #> wget URL/titel1.mid

        ..danke für die Datei.

        gruss Kai