| |||||||
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: Aug 2011
Beiträge: 1
| Musikplayer - EQ als Interface
Hallo Liebe Leute, dies ist mein erster Forum-Eintrag ! Ich habe folgendes Problem: Ich habe einen Code für die Visualisierung eines EQs für einen mp3 player aus dem Internet übernommen. Dann habe ich mir es grafisch angepasst - nach meinen wünschen und alles funktioniert wunderbar. Problem 1: Der Song soll die ganze Zeit abgespielt werden, nur wenn ich auf der Timeline wieder zurückspringe auf Frame 1 (wo dieser Code drin steckt) fängt das Lied von vorne wieder an zu spielen, und man hört dann zwei songs gleichzeitig ! ich bräuchte eine If funktion die erkennt, ob der Song gerade läuft, und wenn dies eintrifft, dass er dann den song nicht nochmals abspielt, da er ja bereits zu hören ist. Problem 2: Natürlich wäre auch noch Sinnvoll wenn der User die Musik steuern könnte. Aber da die ganze Homepage sehr zurückhaltend und abstrakt gehalten ist, will ich auf einen Standart Stop Button verzichten. Ist es möglich, in der AS3 Sprache, diesen EQ, der stets sichtbar ist wenn die Musik läuft, als Interface zu verwenden für Start und Stop der Musik? Wie mache ich aus dem EQ der nur ein Script ist, einen Button daraus? Ein zweiter Click veranlasst dass die Musik wieder läuft. Das wäre alles. Habs ein bisschen Seltsam formuliert aber ich hoffe dennoch dass ich auf verständniss stoße ! Beste Grüße im Voraus Michael Hier ist der Code: var url:String = "music/song.mp3"; var request:URLRequest = new URLRequest(url); var s:Sound = new Sound(); s.addEventListener(Event.COMPLETE, completeHandler); s.load(request); var song:SoundChannel = s.play(); song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); var ba:ByteArray = new ByteArray(); var gr:Sprite = new Sprite(); gr.x = 238; gr.y = 658; addChild(gr); var time:Timer = new Timer(100); time.addEventListener(TimerEvent.TIMER, timerHandler); time.start(); function completeHandler(event:Event):void { event.target.play(); } function soundCompleteHandler(event:Event):void { time.stop(); } function timerHandler(event:TimerEvent):void { SoundMixer.computeSpectrum(ba, true); var i:int; gr.graphics.clear(); gr.graphics.lineStyle(0, 0xDBDBDB); gr.graphics.beginFill(0xDBDBDB); gr.graphics.moveTo(0, 0); var w:uint = 5; for (i=0; i<25; i+=w) { var t:Number = ba.readFloat(); var n:Number = (t * 15); gr.graphics.drawRect(i, 0, w, -n); } } |
| | |
| | #2 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 513
| Zu Problem 1: Du könntest den Code in Frame 2 packen und in Frame 1 eine Variable "alreadyPlaying = false" erstellen. Den Teil des Codes, der den Sound lädt und startet setzt Du in einen if (!alreadyPlaying) {} Block und darin setzt Du sie alreadyPlaying = true. Wenn Du jetzt noch ändern kannst, dass der Player auf Frame 2 springt, wird er den Teil überspringen. Zu Problem 2: Dein EQ liegt im Sprite "gr" und ist damit gut geeignet MouseEvents zu empfangen. Code: var gr:Sprite = new Sprite(); gr.x = 238; gr.y = 658; gr.addEventListener(MouseEvent.CLICK,onEQclick,false,0,true); // diese Zeile macht das Sprite "click"-bar addChild(gr); |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| eqs, frequenz spektrum, interface, musik, player |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS4] Interface; Photoshop Interface | daemon | Flash Einsteiger | 2 | 27-02-2010 08:56 |
| Musikplayer | Spiritmonger | ActionScript 2 | 20 | 02-03-2006 11:05 |
| Musikplayer | Devilson | Flash MX 2004 | 3 | 24-10-2005 07:39 |
| Musikplayer | Schnitzel2k | Flash 4 und Flash 5 | 1 | 21-12-2004 22:11 |
| Musikplayer | calippo | Flash MX | 9 | 05-02-2004 19:02 |