Pauza dzwieku we flashu...

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
Ziolek
Posty: 4
Rejestracja: pn lut 21, 2005 11:30 pm
Lokalizacja: Szczecin

Pauza dzwieku we flashu...

Post autor: Ziolek »

Prosze o pomoc!
Jaka akcje dodac do przucisku, zeby zapauzowac odtwarzany dziwk i jaka do drugiego zeby wznowic od zatrzymanego momentu?
Z góry dziękuję!
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Pauza dzwieku we flashu...

Post autor: Marek_bf »

Dodajesz dzwiek do biblioteki, klikasz na nim PKM i wybierasz linkage, wpisujesz nazwę (w tym przypadku jest to muza).
Na scenę nanosisz klon przycisku może być to również MC i nazywasz pause_btn
AS:
Deklarujesz zmienną logiczną pause_bol i ustawiasz jej wartość na false, jej stan będzie decydował o tym, który człon instrukcji zawartej w zdarzeniu przycisku pause_btn wykonać.
Deklarujesz zmienną pause_point, która będzie przechowywała pozycję zatrzymanego dźwięku.
Deklarujesz zmienną my_sound i przypisujesz do niej nowy obiekt Sound, będziesz mógł teraz odwołując się do tej zmiennej (obiektu) sterować dźwiękiem za pomocą AS.
Za pomocą metody attachSound(); dołączasz z biblioteki wybrany (zlinkowany) plik dźwiękowy do obiektu Sond.
Za pomocą metody start(); uruchamiasz odtwarzanie dźwięku, liczba 0 w podana w argumencie decyduje o tym, że dźwięk będzie odtwarzany od początku. Jest to wartość wyrażona w sekundach, jeśli wpiszemy np. 5 to odtwarzanie zacznie się od 5 sekundy pliku audio.
W zdarzeniu onRelease przycisku pause_btn umieszczasz konstrukcję warunkową if i else.
Jeżeli zmienna pause_bol posiada wartość false to do zmiennej pause_point zostanie przypisana (poprzez właściwość position obiektu Sound) pozycja odtwarzania wyrażona w milisekundach.
Wartość jest podzielona, przez 1000 aby oddać wynik w sekundach.
Następnie dzięki metodzie stop(); dźwięk jest zatrzymywany.
Zmienna pause_bol jest ustawiana na true, więc przy następnym kliknieciu na przycisk wykona kod zawarty w członie else, czyli:
Zacznie odtwarzać dźwięk od momentu zapisanego w zmiennej pause_point, i zmieni wartość zmiennej pause_bol na false.
AS 1:

Kod: Zaznacz cały

var pause_bol = false;
var pause_point;
var my_sound = new Sound(this);
my_sound.attachSound("muza");
my_sound.start(0);
pause_btn.onRelease = function() {
	if (!pause_bol) {
		pause_point = my_sound.position / 1000;
		my_sound.stop();
		pause_bol = true;
	} else {
		my_sound.start(pause_point);
		pause_bol = false;
	}
};
AS 2 (jawnie określamy typy):

Kod: Zaznacz cały

 var pause_bol:Boolean = false;
var pause_point:Number;
var my_sound:Sound = new Sound(this);
// reszta kodu taka sama jak wyzej
Ziolek
Posty: 4
Rejestracja: pn lut 21, 2005 11:30 pm
Lokalizacja: Szczecin

Re: Pauza dzwieku we flashu...

Post autor: Ziolek »

Wielkie dzieki, niedlugo wyprobuje.

Pozdrawiam.
ODPOWIEDZ