Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-08-2011, 16:22   #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);
}
}
Michael_DG ist offline   Mit Zitat antworten
Alt 04-08-2011, 07:31   #2 (permalink)
Developer
 
Benutzerbild von malthoff
 
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);
In der onEQclick function, die Du noch erstellen musst, kannst Du dann den Sound Pausieren und wieder starten. Da das Sound Objekt in AS3 ein "Pausieren" nicht kennt, musst Du Dir bei Stop die Stelle merken. Wie das geht, kannst Du zum Beispiel hier lesen: Play/Pause/Stop Sound-AS3 - ActionScript - Source Code | DreamInCode.net
malthoff ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
eqs, frequenz spektrum, interface, musik, player

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele