Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Witajcie drodzy Obywatele...\r\n\r\nJako ze moje poczatki z Flashem, trwaja nadal.. mam pytanie a propos umieszczonego filmu - po kolei:\r\n\r\n1. mam kilka przyciskow, odnoszacych sie do roznych podstron - jeden z nich kieruje do strony do ktorej zaimportowalem moj film - wszystko jest ok, film sie odtwarza, sterowanie dziala.\r\n2. niestety kiedy ten film jest odtwarzany, przejscie na inna strone nie powoduje zatrzymania (pauzy) tegoz filmu... Czy ktos poratowalby jakims poleceniem?:)\r\n3. A propos tego polecenia - nie moze to byc:\r\nSoundMixer.stopAll();\r\n\r\nponiewaz na stronie jest takze odtwarzacz muzyki, grajacy na okraglo - i nie moze ona byc zatrzymywana po kazdym kliknieciu na dowolna button.\r\n\r\n======================\r\n\r\nI odrebna sprawa - wlasnie a propos tej muzyki - czy znacie moze sposob na uzyskanie petli? (plik muzyczny mp3)..\r\n\r\nZa wszelkie rady, porady, wskazowki - bede Wam wdzieczny:)
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

odnośnie zapętlenia dźwieku:

sound.load(new URLRequest("content/sound/music.mp3"));
sChannel = sound.play(0, int.MAX_VALUE, sTransform);


dźwięk powtórzy się 2147483647 razy (int.MAX_VALUE) a więc masz kilka lat na słuchanie;)

Odnośnie reszty to nie rozumiem. Co oznacza "zaimportowałem filmik"? Osadziłeś go na klatkach czy ładujesz za pomocą np FLVPlayback? Jeśli się stopuje to oznacza ze w drukiej klatce masz drugą instancję "filmiku". Sprawdź czy nie ma tam bliźniaczej klatki kluczowej (taka z kropką) zawierającej ów "filmik"
Pozdrawiam
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
odnośnie zapętlenia dźwieku:

sound.load(new URLRequest("content/sound/music.mp3"));
sChannel = sound.play(0, int.MAX_VALUE, sTransform);


dźwięk powtórzy się 2147483647 razy (int.MAX_VALUE) a więc masz kilka lat na słuchanie;)

o jak milo - dzieki;)
Odnośnie reszty to nie rozumiem. Co oznacza "zaimportowałem filmik"? Osadziłeś go na klatkach czy ładujesz za pomocą np FLVPlayback? Jeśli się stopuje to oznacza ze w drukiej klatce masz drugą instancję "filmiku". Sprawdź czy nie ma tam bliźniaczej klatki kluczowej (taka z kropką) zawierającej ów "filmik"
Pozdrawiam

no wiec...
film zaimportowalem do jednej z podstron za pomoca File-Import Movie (czyli tak jak mowisz - FLVPlayback). Wszystko dziala pieknie - wylaczylem autoplay, wiec po kliknieciu na play - zaczyna sie flmik, mozna go oczywsicie zatrzymac przyciskiem itd... ALE... w momencie kiedy filmik jest w trakcie odtwarzania, i klikam na inny button (przechodze na inna podstrone) - filmik gdzies tam..w tle - caly czas jest odtwarzany. A tego nie chcemy:)

Probowalem wiec do tego przycisku (kierujacego na inna strone) przypisac:
SoundMixer.stopAll();

i to dziala super.. co jedynie zatrzymuje takze muzyke - wiec takie rozwiazanie odpada...

pozniej probowalem po prostu...
paw.stop();

gdzie paw - to instance name tego mojego filmiku.... ale to niestety nie skutkuje.. I pytanie - czy jest jakies polecenie, ktore "po prostu" zatrzymuje ten filmik, tak abym mogl to przypisac do wszystkich pozostalych przyciskow (oprocz tego ktory prowadzi do samego filmu - rzecz jasna;))

Mam nadzieje ze to rozjasnilo sytuacje:)
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
odnośnie zapętlenia dźwieku:

sound.load(new URLRequest("content/sound/music.mp3"));
sChannel = sound.play(0, int.MAX_VALUE, sTransform);


dźwięk powtórzy się 2147483647 razy (int.MAX_VALUE) a więc masz kilka lat na słuchanie;)

kurde..cos u mnie nie funkcjonuje z tymi parametrami...
kod calego tego mojego playera wyglada tak:


var adress:URLRequest = new URLRequest("paw.mp3");
var dzwiek:Sound = new Sound();
dzwiek.load(adress);
var sterowanie:SoundChannel = dzwiek.play();

stop_btn.addEventListener(MouseEvent.CLICK, zatrzymaj);
function zatrzymaj(myszka:MouseEvent):void {
sterowanie.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, wystartuj);
function wystartuj(myszka:MouseEvent):void {
SoundMixer.stopAll();
sterowanie = dzwiek.play();
}
Paweł Kałuża edytował(a) ten post dnia 30.06.10 o godzinie 14:44
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

u mnie jest trochę bardziej zamotany bo mam stopniowe wyciszanie na stop i zgłaśnianie na play (tzw fadeing) stąd ta referencja to obietku SoundTransform
U ciebie trzeba zmienić wywołanie metody play:

var sterowanie:SoundChannel = dzwiek.play(0,int.MAX_VALUE);


Zachęcam do czytania dokumentacji adobe:) Tam jest wszytko opisane:)
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

odnośnie filmiku metoda stop() instancji FLVPlaback powinna działać. Musisz ja tylko wywołać przed opuszczeniem klatki kiedy obiekt jest na scenie.
Sprawdź czy dowołujesz się do FLVPlayback czy moze do czegoś innego? Moze movie Clipa?
wpisz:

trace(pow)

w okienku output pojawi się jaki to typ.

PS.
Za pomocą file/ import można tez zaimportować filmik na timeline ale skoro piszesz że ma przycisk play więc wnioskuje ze to na pewno FLVPlayback.Jerzy Wierzchowski edytował(a) ten post dnia 30.06.10 o godzinie 15:15
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:

var sterowanie:SoundChannel = dzwiek.play(0,int.MAX_VALUE);

Gra i buczy - i to bez przerwy;) Dzieki Ci Dobry Czlowieku:)

Zachęcam do czytania dokumentacji adobe:) Tam jest wszytko opisane:)

Pelna zgoda...:)
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
odnośnie filmiku metoda stop() instancji FLVPlaback powinna działać. Musisz ja tylko wywołać przed opuszczeniem klatki kiedy obiekt jest na scenie.
Sprawdź czy dowołujesz się do FLVPlayback czy moze do czegoś innego? Moze movie Clipa?

No wiec;)

1. nie ma zadnego movieClipa - jest tylko FLVPlayback..
2. odwoluje sie do InstanceName tego komponentu wskazujacego na FLVPlayback (czyli graficznie - to okno ktore powstalo po zaimportowaniu filmu - z panelem sterowania, samym oknem filmu, etc) - ten InstanceName to "paw"
3. W kodzie danego przycisku menu (prowadzacego do innej strony niz ta z filmem - przyjmijmy - ze chodzi o strone KONTAKT i przycisk za pomoca ktorego idziemy wlasnie do tej podstrony) wstawilem paw.stop(); i wyrzuca mi blad:


1120: Access of undefined property paw.


4. Dla lepszego zobrazowania tych moich przyciskow, podstron itd, wklejam moj kod dotyczacy sterowania przyciskami menu i podstronami:


import fl.transitions.*;
import fl.transitions.easing.*;

var moveTween:Tween = new Tween(mainmenu_mc, "y", Elastic.easeOut, mainmenu_mc.y, 0, 2, true);

var p1:page1 = new page1;
var p2:page2 = new page2;


pageContainer_mc.addChild(p1);
var pageMoveTween:Tween = new Tween(pageContainer_mc, "y", Elastic.easeOut, 300, 225, 2, true);

mainmenu_mc.menuBtn1_btn.addEventListener(MouseEvent.CLICK, btn1Click);
mainmenu_mc.menuBtn2_btn.addEventListener(MouseEvent.CLICK, btn2Click);


function btn1Click (event:MouseEvent):void {
var btn1Outro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 1, 1, 1, true);
btn1Outro.addEventListener(TweenEvent.MOTION_FINISH, runBtn1Transition);
function runBtn1Transition (event:TweenEvent):void {
pageContainer_mc.removeChildAt(1);
pageContainer_mc.addChild(p1);
var btn1Intro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 0, 1, 1, true);
}
}
function btn2Click (event:MouseEvent):void {
var btn2Outro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 1, 1, 1, true);
btn2Outro.addEventListener(TweenEvent.MOTION_FINISH, runBtn2Transition);
function runBtn2Transition (event:TweenEvent):void {
pageContainer_mc.removeChildAt(1);
pageContainer_mc.addChild(p2);
var btn2Intro:Tween = new Tween(pageContainer_mc, "alpha", Strong.easeOut, 0, 1, 1, true);
}
}


Oczywiscie powyzszy kod jest skrocony do tylko dwoch przciskow i dwoch podstron...

I teraz - na stronie "page2" do ktorej prowadzi przycisk "menuBtn2_btn" znajduje sie - tak po prostu - zaimportowany FLVPlayback z moim filmem o nazwie "paw". Nie ma nic dodatkowego - w sensie movieClipow, ani dodatkow.
Natomiast, kiedy klikne na btn1, w momencie kiedy film jest odtwarzany na "page2" - to zaladuje mi sie oczywiscie zawartosc "page1", co jedynie w tle - mam ciagle slyszalny i odtwarzany film.

Reasumujac - chodzi o funkcje dla btn1, ktora bedzie "pauzowac" moj film znajdujacy sie na "page2", w momencie kiedy po prostu opuszczamy "page2", i przechodzimy na inna strone...:)

Gdybym mogl cokolwiek jeszcze wytlumaczyc, albo starac sie wytlumaczyc - daj cynka - bede wdzieczny za dalsze podpowiedzi...:)Paweł Kałuża edytował(a) ten post dnia 30.06.10 o godzinie 22:22
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

"I teraz - na stronie "page2" do ktorej prowadzi przycisk "menuBtn2_btn" znajduje sie - tak po prostu - zaimportowany FLVPlayback z moim filmem o nazwie "paw"."
Skoro FLVPlayBack znajduję się w p2 to:

p2.pow.stop();
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:

p2.pow.stop();

Kurde...cos pieknego:) Jurek - jak bedziesz w Toruniu - zapraszam na pierniki:)
Dzieki serdeczne - dziala wysmienicie:)

Teraz mam jeszcze zagwostke - wlasnie z samym FLVPlayback - poniewaz dopisalem sobie do przycisku ktory kieruje do "page2" - czyli tam gdzie mam film, nastepujace polecenie:

sterowanie.stop();


ktore zatrzymuje grajaca muzyke na calej stronie - aby nie przeszkadzala podczas ogladania filmu.. Czy jest jednak jakas mozliwosc, aby po wyjsciu z tej strony - i kliknieciu na dowolna inna strone - muzyka znow zaczynala grac? A dokladniej chodzi mi o to ze - nie moge do przycisku odnoszacego nas do "page1" wstawic po prostu funkcji startowania muzyki, bo kazdorazowe klikniecie na ten przycisk, czy inne przyciski - powodowaloby rozpoczynanie grania od nowa... A tu chodziloby o "jednorazowe" wznowienie grania muzyki przy wyjsciu z page2..:)
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

Przed stopem zapisz pozycję (czas) dźwięku a potem podawaj ja w metodzie play jako startTime(pierwszy parametr). Tu masz nieskończonego loop'a i jak zrobi pause zamiast stop:
http://www.flashmove.com/forum/showthread.php?t=32199
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
Przed stopem zapisz pozycję (czas) dźwięku a potem podawaj ja w metodzie play jako startTime(pierwszy parametr). Tu masz nieskończonego loop'a i jak zrobi pause zamiast stop:
http://www.flashmove.com/forum/showthread.php?t=32199


Oooook;)
To teraz pytanie - mam 7 stron i na ostatniej - page7 - moj film:)
W przycisku prowadzacym do p7 wstawiam stop muzyki i wczesniej zapisanie pozycji - i tu pytanie - jesli klikne na p1, to muzyka wystartuje od momentu zatrzymania jej na p7, ale co stanie sie kiedy pozniej klikne np na p2? Muzyka bedzie kontynuowana bez przerwy (po przejsciu z p1), czy od momentu zatrzymania jej w p7?
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: AS3, import movie - zatrzymanie filmu...

no to zleży jak napiszesz...
jeśli przechodzisz z p1 do p2 to nie wywołuj play bo muzyka już gra(nie była stopowana) Zrób sobie zmienną "var playing:Boolean". Jak zatrzymujesz przy filmiku dźwięk to dawaj na false. Jak idziesz do klatki jakiej kolwiek i zmienna jest na false to startujesz i dajesz ja na true. Jeśli była na true to nic nie robisz.
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
no to zleży jak napiszesz...
jeśli przechodzisz z p1 do p2 to nie wywołuj play bo muzyka już gra(nie była stopowana) Zrób sobie zmienną "var playing:Boolean". Jak zatrzymujesz przy filmiku dźwięk to dawaj na false. Jak idziesz do klatki jakiej kolwiek i zmienna jest na false to startujesz i dajesz ja na true. Jeśli była na true to nic nie robisz.

Dzieki Jurek - bede kombinowal:)
Ewentualnie po glowie chodzi mi tez cos teoretycznie prostrzego - czyli wchodzac na p7 - muzyka nadal gra, ale zatrzymuja ja przycisk PLAY w tym SFVPlayback'u, a po zakonczeniu filmu - muzyka zaczyna grac na nowo - czyli kwestia zatrzymania muzyki na stronie zalezna tylko i wylacznie od samego filmu a nie od konkretnej strony...

Jeszcze raz - dzieki wielkie za wszystkie pomysly i rozwiazania:)
Paweł K.

Paweł K. Człowiek gotowy na
wyzwania.

Temat: AS3, import movie - zatrzymanie filmu...

Jerzy Wierzchowski:
no to zleży jak napiszesz...


hej hej Jurek;)
no wiec pisze i pisze... i nie dziala;)

A dokladniej - na p7, gdzie jest film, wyrzucilem skin sterujacy od FLVPlayback i tworze wlasne przyciski... wszystko nawet ladnie funkcjonuje.. co jedynie nie dziala u mnie w przycisku PLAY wylaczanie muzyki na stronie.

Zamysl jest taki, aby wchodzac na p7 muzyka nadal grala (i gra), natomiast po wcisnieciu przycisku PLAY - muzyka sie stopowala i zaczynal sie film, natomiast po kliknieciu na przycisk STOP lub odczekaniu do konca filmu - film sie zatrzymywal i zaczynala grac muzyka...

Nie moge jednak dokopac sie nigdzie zapewne banalnie prostej sprawy, a mianowicie jak odniesc sie w funkcji przycisku, to funkcji muzyki, ktora znajduje sie w warstwie kodu na stronie glownej...

Pisze to tak:


muzyczka2.stop_btn.addEventListener(MouseEvent.CLICK, zatrzymaj);
function zatrzymaj(myszka:MouseEvent):void {
sterowanie.stop();
}


ale dostaje wynik:

1120: Access of undefined property sterowanie.


gdzie sterowanie - opisane jest w kodzie na stronie glownej (wczesniej wklejalem juz tu kod od mojego playera muzyki...

Natomiast kiedy wstawiam:


muzyczka2.stop_btn.addEventListener(MouseEvent.CLICK, zatrzymaj);
function zatrzymaj(myszka:MouseEvent):void {
MovieClip(parent).sterowanie.stop();
}


dostaje:

TypeError: Error #1010: A term is undefined and has no properties.


Masz moze jakies wskazowki?:) Bede za nie wdzieczny, bo takie rozwiazanie w sumie nie wymagaloby rozwiazania z zapisywaniem pozycji pliku muzycznego, itd itp...

Następna dyskusja:

AS3 loop i zatrzymanie w ko...




Wyślij zaproszenie do