[Flash] Auf übergebene Parameter zugreifen mit ActionScript
lima-city → Forum → Die eigene Homepage → Flash und Silverlight
adresse
angeben
beispiel
entgltigen adresse
flash
garnicht
hintergrundfarbe
hundertprozentigen schutz
lsung
musik
objekt
oma
parameter
quelltext
sache
schutz
sinnen
stehen
variable
vergeblicher versuch
-
Hi.
Ich möchte (als mein erstes kleines Flash-Projekt ;)) einen kleinen Mini-Player mit Flash realisieren, der eine MP3 als Stream wiedergibt. Soweit habe ich auch schon das Grundgerüst hinbekommen, was ich allerdings noch nicht weiß (hab schon gegoogelt aber nichts gefunden) ist, wie man auf an das Flash-Script übergebene Parameter (<param>...) zugreifen kann.
Kann mir wer helfen? Ich wäre sehr dankbar dafür... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wie man auf an das Flash-Script übergebene Parameter (<param>...) zugreifen kann.
Von wo kommen denn diese parameter? -
<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="250" height="50"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0">
<param name="movie" value="jukebox.swf">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="menu" value="true">
<param name="bgcolor" value="#000000">
<embed src="jukebox.swf" quality="high" scale="exactfit" menu="false"
bgcolor="#000000" width="250" height="50" swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>
Obiges ist der HTMLQuellcode. Soweit ich weiß, kann man doch mit <param name="sinndeslebens" value="42"> weitere PArameter übergeben. Oder handelt es sich dabei nur um Angaben für Flash für Hintergrundfarbe etc...? -
<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="250" height="50"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0">
<param name="movie" value="jukebox.swf">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="menu" value="true">
<param name="bgcolor" value="#000000">
<embed src="jukebox.swf" quality="high" scale="exactfit" menu="false"
bgcolor="#000000" width="250" height="50" swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>
Obiges ist der HTMLQuellcode. Soweit ich weiß, kann man doch mit <param name="sinndeslebens" value="42"> weitere PArameter übergeben. Oder handelt es sich dabei nur um Angaben für Flash für Hintergrundfarbe etc...?
wie du schon richtig bemerkt hast, ist das HTML.
Die Parameter gelten für das object tag, als Information über das eingebettete Objekt.
Was mir bekannt ist:
->du möchtest einen mp3player bauen
->du möchtst parameter (ab hier nennen wir sie vlt mal Variablen, ok?) übergeben.
Was mich jetzt interessieren würde:
->was möchtest du denn als Variable übergeben?
Dein Beispiel mit dem Sinn des Lebens hilft mir da nicht weiter.
Willst du sowas machen: Lied1="alle meine Entchen", Interpret1="Meine Oma", Lied2....usw. ???
Willst du mit den Variablen eine veränderliche Playlist erstellen? denn für etwas anderes würde ich da keinen Sinn sehen.
woraus sich noch ergibt:
->Brauchst du die Variablen überhaupt? -
Hallo mal wieder.
Ich habe länger nicht ins Forum geschaut und deine Antwort nicht gelesen. Inzwischen habe ich eine Lösung gefunden.
Was ich schaffen wollte: Ich wollte MP3s auf der Homepage einbauen, die zwar abgespielt, aber nicht heruntergeladen werden können, das heißt deren URL nicht ohne weiteres herauszufinden ist (z.B. über den Quelltext).
Dazu habe ich dieses Flash-Objekt gebastelt, welches mir ein Lied via Stream abspielt. Damit ich allerdings nicht für jedes Lied, das ich zum Abspielen bereitstellen möchte, ein neues Flash-Objekt erstellen muss (und zwar jedes mal mit einer anderen MP3-Adresse), wollte ich das ganze über Parameter lösen. Dem Objekt sollte quasi die Adresse der zu spielenden MP3 "mit auf den Weg" gegeben werden (natürlich verschlüsselt, denn sonst ist die ganze Sache ja witzlos, da wieder jeder einfach in den Quelltext schauen könnte), z.B. auch damit ich darauf später via Javascript zugreifen kann und man das Lied auswählen kann, das gespielt wird.
Hier die Lösung:
Ich habe die Variable nachträglich geändert - wie schon anfangs erwähnt mit Javascript.
Das ganze sieht dann so aus:
<script type="text/javascript">
//<!--
obj = document.getElementById("flashplayer"); // Flash-Objekt
obj.SetVariable("next_song", "test_lied");
obj.GotoFrame(999-1); // zero-based
//-->
</script>
Mein Flash-Objekt hat die ID "flashplayer", daher kann ich per getElementById darauf zugreifen. Daraufhin setze ich die Variable "next_song" im Flash-Objekt auf "test_lied" oder auf welchen Wert auch immer.
Dann noch in einen Frame wechseln, in welchem per ActionScript auf die Variable zugegriffen wird:
addr_next_song = "http://localhost/sounds/" + next_song + ".mp3";
_root.bgSound.loadSound(addr_next_song, true);
...oder welche Adresse auch immer.
Klappt perfekt... im Internet Explorer . Naja, aber die Kompatibilität ist ne andere Sache, werd ich auch noch irgendwie hinbekommen...
Ist natürlich richtig, dass es keinen kompletten Schutz gegen das Downloaden von MP3s gibt, notfalls zeichnet man halt alles auf, was die Soundkarte so von sich gibt. Aber kann halt nicht jeder, und die Mühe macht sich vielleicht auch net jeder ;)
Okay, gelöst habe ich das Problem letztendlich, dennoch vielen Dank für die Mühen ^^ -
achso -,-
übrigens: Wenn jemand dein Lied streamt oder anderweitig anhört muss er es downloaden. geht garnicht anders. Wenn du es vor dem download schützen würdest, könnte man es also garnicht anhören.
nur mal so, weil einige immer wollen das man nichts "runterladen" kann.
Aber eine Frage hätte ich da noch, ich kenn mich mit javascript nicht so aus, aber ich sehe das doch im quelltext stehen, oder?, dann müsste man es also nur noch entschlüsseln und schon läuft der Hase?
-
Wie du schon richtig sagtest, gibt es keinen hundertprozentigen Schutz gegen den Download eines Liedes. Ob man nun den Stream aufzeichnet, ob man den Sound mitschneidet...
Logisch sieht man das Javascript auch im Quelltext stehen, das macht in diesem Fall allerdings nichts, da der Besucher nichts damit anfangen kann. Dort steht ja nur "test_lied" - als Beispiel. In Flash mache ich daraus http://adresse.keineahnung.de/test_lied.mp3 - Der Benutzer weiß also gar nicht, wo dieser String "test_lied" denn in der entgültigen Adresse nun tatsächlich vorkommt.
Alles in allem ist es aber auch nur ein vergeblicher Versuch, die Musik vor dem Download zu schützen. Wer es wirklich möchte, der kommt auch an die Musik. Aber vielleicht hindert es ihn daran, dass es ihm ein wenig schwieriger gemacht wird ;)
Beitrag geaendert: 19.4.2007 20:20:50 von thopage -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage