| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2005
Beiträge: 6
| Audioplayer mit Listendarstellung
Hallo, 'beiße mir seit Tagen die Zähne an folgendem Problem aus: ich möchte einen MP3 Audioplayer mit Listendarstellung (also alle Songs untereinander und nicht, wie üblich zum Vor/Zurück-klicken). Also habe ich eine Funktion geschrieben, die ein externes XML korrekt einliest (es wird nur der Titel und Pfad pro Song benötigt) und in zwei Arrays einliest. Das funktioniert soweit auch. Am Ende soll es (schematisch) so aussehen: Titel Nr. 1 (anklickbar für PLAY/STOP) und PLAY/STOP Button dahinter MUTE Button Titel Nr. 2 (anklickbar für PLAY/STOP) und PLAY/STOP Button dahinter MUTE Button Titel Nr. 3 (anklickbar für PLAY/STOP) und PLAY/STOP Button dahinter MUTE Button usw. Gedacht habe ich mir das so: 1. XML parsen und Arrays erzeugen (ok) 2. Anzahl der Songs ermitteln (ok) 3. Alle Songs untereinander ausgeben lassen (dyn.Textfeld) (ok) 4.Transp. Buttons über jeden Song legen lassen (ok) (ich habe in der Library einen transparenten Button, den ich bei jedem Schleifendurchlauf über alle Songs an eine berechnete Position ausgeben lasse) mit duplicateMovieClip und dabei dynamisch benenne (im aktuellen Fall habe ich bei 3 Testsongs z.B. hitter0_mc, hitter1_mc, hitter2_mc). Die Berechnung der y Position erfolgt automatisch. (das funktioniert auch) Nur jetzt hänge ich seit Tagen fest. Ist mein Ansatz falsch? Wie bekomme ich denn die PLAY/STOP Funktion in jeden dynamisch erzeugten mc? Außerdem scheint die Variablendef. Probleme zu bereiten, denn sobald ich etwas außerhalb der XML-loaded Funktion schreibe, vergißt er alles. Deshalb habe ich die Arrays ja schon VOR der Funktion erzeugt und auch schon mit _global experimentiert. Aber das hilft alles nichts. Ich kopiere euch mal den Code rein (alles im 1. Bild/1. Frame, in der Lib ist nur der transp. Button und ein weiterer, den ich mal als MUTE gedacht hatte für hinter die Songs. // XML laden var XMLdaten = new XML();//erstellt ein neues XML Objekt var XMLdaten_titel = []; // Erstellt ein neues Array titels XMLdaten_titel var XMLdaten_pfad = []; // Erstellt ein neues Array titels XMLdaten_pfad var startsong=-1; // erster Song; var ystart=28;var yhoehe=18;var yoffset=0;var button_yoffset=3; aktuellerTitel = 0; XMLdaten.ignoreWhite=true; // ignoriert die leerRäume (spaces) in der XML-file XMLdaten.load("playlist.xml");//lädt das XML-file XMLdaten.onLoad = function(success) {//wenn die Datei geladen wird var anz = XMLdaten.firstChild.childNodes.length; if (success) { //wenn das laden des Files erfolgreich war for (var i=0; i<anz; i++) { XMLdaten_titel[i] = XMLdaten.firstChild.childNodes[i].attributes.titel; XMLdaten_pfad[i] = XMLdaten.firstChild.childNodes[i].attributes.pfad; } } var player:Sound = new Sound(); // neues Sound Objekt "player _root.output="Anzahl Songs: "+anz+", Start mit Nr. "+(startsong+2); // Liste ausgeben for (var j=0; j<anz; j++) { _root.output+="\nTitel: \""+XMLdaten_titel[j]+"\" - Pfad: "+XMLdaten_pfad[j]; // y position ermitteln und button setzen ypos = ystart+(j*yhoehe)+yoffset; _root.output+=" - y:"+ypos; _root.stopper_mc._y=ypos; _root.stopper_mc._x=720; duplicateMovieClip (_root.stopper_mc, "stopper"+j+"_mc", j); // hit-area duplizieren und positionieren duplicateMovieClip (_root.hitter_mc, "hitter"+j+"_mc", j+100); trace("_root.hitter"+j+"_mc"); button_ypos = (ystart-button_yoffset)+(j*yhoehe)+button_yoffset; _root.hitter_mc._y=button_ypos+button_yoffset; _root.hitter_mc._x=0; _root.hitter_mc._xscale=190; } // Sound starten function abspielen() { player.onSoundComplete = nextSong(aktuellerTitel); player.setVolume(75); player.loadSound(XMLdaten_pfad[aktuellerTitel], true); player.start(); } function nextSong() { trace("next"); aktuellerTitel++; trace(aktuellerTitel); player.loadSound(XMLdaten_pfad[aktuellerTitel], true); player.start(); } abspielen(); } Soweit so gut. Nur: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |