Temat: Postępowanie z komponentem FLVPlayback

Witam, mam pytanie odnośnie postępowania z tytułowym komponentem.

Mam projekt: menu i kilka filmów wideo odtwarzanych w/w komponencie.

W każdej chwili podczas odtwarzania wideo można kliknąć przycisk powrotu do menu, przycisk powrotu to jedna funkcja - zatrzymanie myFLVPlavback i gotoAndStop. Czy warto jeszcze dodać jakieś linie kodu?

Po wyeksportowaniu wszystkiego do projektora.exe działa... do czasu. Mianowicie po kilkukrotnym przeskakiwaniu pomiędzy filmami pojawia się błąd typeError 1009 (nie pojawia się w konkretnym miejscu tylko właściwie po kilkukrotnych skokach do różnych plików wideo). I zdarza się, że po powrocie do menu audio ostatniego filmiku dalej jest odtwarzane.

Zastanawiam się czy nie trzeba zdefiniować jeszcze jakiejś funkcji, nie wiem... opróżniania bufora, może playera, jego resetowanie...

import fl.video.FLVPlayback;
import fl.video.VideoEvent;

myFLVPlayback.addEventListener(VideoEvent.COMPLETE, next3);
function next3(event:VideoEvent):void {
gotoAndStop(13);
}

btn_back.addEventListener(MouseEvent.CLICK, back3);
function back3(event:MouseEvent):void
{
myFLVPlayback.stop();
gotoAndStop(4);
}
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: Postępowanie z komponentem FLVPlayback

Widzę że biegasz po klatkach. Pamiętaj że Listenery trzeba usuwać. Jeśli dodasz w jednej klatce next3, w innej next2 itp to jak klikniesz wywołają się wszystkie delegowane funkcję (które odwoływać się mogą do czegoś czego nie ma w danej klatce)
Nie widzę nigdzie metody play(). Może wywołujesz ich kilka na raz z czego jedna zamiast url dostaje null'a albo jakiś śmieć? Ewentualnie int'a zamiast Stringa bo się gdzieś walnąłeś:) zrób metodę playVideo(url:String) w której tracujesz url i zamień wszystkie wywołania play na playVideo

Temat: Postępowanie z komponentem FLVPlayback

Witam, bez znajomości AS3 czuję, że stworzyłem prymitywne rozwiązanie (bieganie po klatkach), z którym na razie muszę żyć :)

Usuwanie listnera, czyli coś takiego?
{
myFLVPlayback.stop();
myFLVPlayback.removeEventListener(VideoEvent.COMPLETE, next3)
gotoAndStop(4);
}

Nie używam metody play, kliknięcie linka powoduje przejście do ramki i wykonanie AS3 na danej ramce i odtworzenie materiału. Ta metoda też ma rezydować na poszczególnych ramkach? Faktycznie komunikat o błędzie dotyczy nulla.

Całość poskładałem łopatologicznie przeglądając zawartość AS3. Czuje jednak, że powinno się to zrobić o wiele prościej, tzn widzę to w głowie :D ale nie znam architektury :)
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: Postępowanie z komponentem FLVPlayback

zalecam usuwać wszytkie możliwe listenery bo mogłes tu przyjść nie tylko z klatki3(wnioskuje ze next3 jest siedzi na klatce3)ale pewnei róznież z innych:

{
myFLVPlayback.stop();
myFLVPlayback.removeEventListener(VideoEvent.COMPLETE, next1)
myFLVPlayback.removeEventListener(VideoEvent.COMPLETE, next2)
myFLVPlayback.removeEventListener(VideoEvent.COMPLETE, next3)
(...)
myFLVPlayback.removeEventListener(VideoEvent.COMPLETE, next3)
gotoAndStop(4);
}

też tak zaczynałem:) Polecam: http://helion.pl/ksiazki/adobe_flash_cs4_cs4_pl_profes...
wydatek napewno się opłaci!
a to na szybko do video:http://www.empik.com/adobe-flash-cs3-professional-pl-t...
masz tu przykład który mozesz pod swój projekt przerobić

Temat: Postępowanie z komponentem FLVPlayback

Ok. dzięki serdecznie. Za lektury również.

Temat: Postępowanie z komponentem FLVPlayback

Witam ponownie,
zauważyłem, że każdorazowe użycie przycisku wstecz powoduje, że pamięć RAM coraz bardziej się zapełnia. Przy automatycznym przechodzeniu z ramki do ramki nie ma tego problemu.

Następna dyskusja:

FLVPlayback i ProgressBar -...




Wyślij zaproszenie do