Zurück   Flashforum > Software > Sound

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-12-2005, 15:50   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 58
Soundsteuerung Variablen problem

Hallo an alle,

ich bastle gerade an einem Soundplayer und bleibe an einer entscheidenen Stelle hängen und weiß nicht weiter. Es ist schwer zu erklären. Hier das Skript:

var myMusic = new Sound();
myMusic.attachSound();
myMusic.start(0,10);
myMusic.startMusic = getTimer();
myMusic.restartSound = false;
myMusic.isPlaying = false;


play_btn.onRelease = function() {
if (myMusic.isPlaying == false) {
if (myMusic.restartSound == true) {
myMusic.start(myMusic.elapsedTime/1000);
} else if (myMusic.isPlaying == false) {
myMusic.start(0, 10);
myMusic.startMusic = getTimer();
}
}
myMusic.isPlaying = true;
};

stop_btn.onRelease = function() {
myMusic.isPlaying = false;
myMusic.restartSound = false;
myMusic.stop();
};

pause_btn.onRelease = function() {
myMusic.isPlaying = false;
myMusic.restartSound = true;
myMusic.stop();
myMusic.elapsedTime = getTimer()-myMusic.startMusic;
};


ch4_tr1_btn.onRelease = function() { // Button für Track1
myMusic.attachSound("there_it_goes"); // Track1
};

ch4_tr2_btn.onRelease = function() { //Button für Track2
myMusic.attachSound("spiteface"); // Track 2
};


Ich will mehrere Tracks über 5 Buttons - Play, Stop, Pause, forward, rewind – steuern (momentan sind nur pause, play und stop programmiert und nur track1und track2 sind mit songs verknüpft - tut aber nichts zur sache). Nach meinem Skript habe ich nun folgendes Problem:

1.)Wenn ich den Trackbutton anklicke möchte ich daß der Song sofort beginnt zu spielen. Dies passiert allerdings (logischerweise) erst wenn ich den Play Button drücke. Wie kann ich das umgehen? Ich möchte, daß der Sound sofort startet, nachdem ich den Button für den Track gedrückt habe.

2.)Wenn ich beispielsweise Track2 abspiele, dann Pause drücke, dann den Button für Track1 drücke und dann play, beginnt track1 an der Stelle weiterzuspielen, an der ich bei track 2 pause gedrückt habe (auch wieder logischerweise). Leider fehlt mir auch hier wieder die Idee bzw. das richtige Skript,um dem Abhilfe zu schaffen.

Sorry für die Fragen. Für einen Flash-Programmierer ist das wahrscheinlich Kinderzeugs. Ich bin gerade dabei mir AS selbst beizubringen und für mich sind das ziemliche Hürden.

Es wäre supernett, wenn mir jemand von euch weiterhelfen könnte.

Vielen Dank im voraus!
saturnine ist offline   Mit Zitat antworten
Alt 23-12-2005, 07:42   #2 (permalink)
butt kicker...
 
Registriert seit: Aug 2002
Beiträge: 2.063
Zitat:
Zitat von saturnine

1.)Wenn ich den Trackbutton anklicke möchte ich daß der Song sofort beginnt zu spielen. Dies passiert allerdings (logischerweise) erst wenn ich den Play Button drücke. Wie kann ich das umgehen? Ich möchte, daß der Sound sofort startet, nachdem ich den Button für den Track gedrückt habe.
Code:
ch4_tr1_btn.onRelease = function() { // Button für Track1
myMusic.attachSound("there_it_goes"); // Track1
myMusic.start(0, 10);
myMusic.startMusic = getTimer();
myMusic.isPlaying = true;
}

ch4_tr2_btn.onRelease = function() { //Button für Track2
myMusic.attachSound("spiteface"); // Track 2
myMusic.start(0, 10);
myMusic.startMusic = getTimer();
myMusic.isPlaying = true;
}
Zitat:
Zitat von saturnine

2.)Wenn ich beispielsweise Track2 abspiele, dann Pause drücke, dann den Button für Track1 drücke und dann play, beginnt track1 an der Stelle weiterzuspielen, an der ich bei track 2 pause gedrückt habe (auch wieder logischerweise). Leider fehlt mir auch hier wieder die Idee bzw. das richtige Skript,um dem Abhilfe zu schaffen.
das problem dürfte sich durch die neuen track-buttons von alleine aufheben...
mit welchem flash arbeitest du? vom script her tippe ich auf MX...gerade mit MX und höher kann man einiges eleganter lösen. stichwort: myMusic.position...

doc_l3uMl3Le_l3Ee
doc_bumble_bee ist offline   Mit Zitat antworten
Alt 23-12-2005, 08:45   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 58
Vielen Dank für das Skript!

Ich arbeite mit MX, bin aber wie gesagt ein ziemlicher Newbie auf dem Gebiet, deswegen reicht mir zu Beginn auch erstmal der einfachere Weg. Sicherlich gibt es elegantere Lösungen (die aber auch mehr Know-How erfordern ;-)...

Ich hatte gestern Abend - soweit ich mich korrekt erinnere - noch genau dasselbe probiert (jedoch noch mit der zusätzlichen Variablen myMusic.restartSound = false und es hat soweit ganz gut funktioniert. Es tauchte aber ein zweites Problem auf: nämlich wenn ich den Track1 Button anklicke, danach den Track2 Button, dann überlappen sich beide Sounds. Also irgendwie fehlt eine Variable, die sagt, wenn ich Track1 Button drücke, stoppe alle aktuellen anderen Sounds. Hast Du eine Idee?

Leider bin ich auf Arbeit und kann Dein Skript erst heute Abend ausprobieren.
saturnine ist offline   Mit Zitat antworten
Alt 23-12-2005, 09:00   #4 (permalink)
butt kicker...
 
Registriert seit: Aug 2002
Beiträge: 2.063
Zitat:
Zitat von saturnine
Vielen Dank für das Skript!

Ich arbeite mit MX, bin aber wie gesagt ein ziemlicher Newbie auf dem Gebiet, deswegen reicht mir zu Beginn auch erstmal der einfachere Weg. Sicherlich gibt es elegantere Lösungen (die aber auch mehr Know-How erfordern ;-)...
dein weg ist aber nicht der einfachere...aber egal...

Zitat:
Zitat von saturnine
Ich hatte gestern Abend - soweit ich mich korrekt erinnere - noch genau dasselbe probiert (jedoch noch mit der zusätzlichen Variablen myMusic.restartSound = false und es hat soweit ganz gut funktioniert. Es tauchte aber ein zweites Problem auf: nämlich wenn ich den Track1 Button anklicke, danach den Track2 Button, dann überlappen sich beide Sounds. Also irgendwie fehlt eine Variable, die sagt, wenn ich Track1 Button drücke, stoppe alle aktuellen anderen Sounds. Hast Du eine Idee?

Leider bin ich auf Arbeit und kann Dein Skript erst heute Abend ausprobieren.
stimmt...da musst du den sound einfach auf allen trackbuttons vorher stoppen. zb:

Code:
ch4_tr2_btn.onRelease = function() { //Button für Track2
myMusic.stop();
myMusic.attachSound("spiteface"); // Track 2
myMusic.start(0, 10);
myMusic.startMusic = getTimer();
myMusic.isPlaying = true;
}

doc_l3uMl3Le_l3Ee
doc_bumble_bee ist offline   Mit Zitat antworten
Alt 23-12-2005, 09:11   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 58
danke, werde ich heute abend ausprobieren.
ich meld mich dann nochmal obs geklappt hat.
auf die idee bin ich nicht gekommen, weil ich dachte
myMusic.stop(); und myMusic.start(0, 10); würden
sich irgendwie gegenseitig "aushebeln".

Geändert von saturnine (23-12-2005 um 09:12 Uhr)
saturnine ist offline   Mit Zitat antworten
Alt 23-12-2005, 09:30   #6 (permalink)
butt kicker...
 
Registriert seit: Aug 2002
Beiträge: 2.063
Zitat:
Zitat von saturnine
ich dachte
myMusic.stop(); und myMusic.start(0, 10); würden
sich irgendwie gegenseitig "aushebeln".
nur, wenn du das stop nach dem start verwendest

doc_l3uMl3Le_l3Ee
doc_bumble_bee ist offline   Mit Zitat antworten
Alt 25-12-2005, 10:26   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 58
hat super geklappt, der eine song stoppt wenn ich einen anderen anwähle
ein schönes weihnachtsgeschenk

sorry, wenn ich noch ein frage habe:

wenn der song vorbei ist, muß ich erneut auf den trackbutton klicken um ihn erneut spielen zu können. viel schöner jedoch wäre, wenn ich einfach nur den playbutton drücken könnte und der song erneut von vorne spielt. wie kriege ich so etwas hin?

wenn ich den stop button drücke, nachdem der song fertig gespielt ist und danach den playbutton, spielt er den song wieder von vorne ohne den trackbutton anzuklicken (drücke ich nur den playbutton nach dem song passiert gar nix).
saturnine ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele