SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - WEB KAMERA - flash

Tomy M. - Czw 19 Sty, 2012 05:07
Temat postu: WEB KAMERA - flash
Trafiłem na problem o którym nie ma nic na forum.
Używam programu Yawcam który generuje plik o zawsze takiej samej nazwie "out.jpg". Plik ten udostępnia jako usługę HTTP na zewnątrz Internetu.
Adres do pliku jest taki: http://domena.com:8888/out.jpg

Chcę zrobić prosty player do tego JPG z dowolnie ustawianym auto odświeżaniem. Jednak stworzone przeze mnie playerki pobierają plik "out.jpg" tylko raz z Internetu ... kolejne odświeżenia są z cache przeglądarki czy cache plugina do flasha. Jak wymusić aby JPG'gi były zawsze pobierane z podanego adresu, bez używania cache. Ja chciałbym aby ten player JPG'a refreszował się i prezentował obraz z kamery na stronie internetowej na bieżąco.

Proszę o pomoc, odwdzięczę się fajnie zrobionym playerkiem do web kamer współpracującym z programem Yawcam, który zamieszczę tutaj dla wszystkich obecnych i potomnych :-)

Januszr - Czw 19 Sty, 2012 05:58

Może autorefresh strony html by pomógł?
A może jak dasz na kilku klatkach ładowanie (nie tylko na jednej) to będzie lepiej?

Tomy M. - Czw 19 Sty, 2012 09:28

Gdyby mi chodziło o autorefresh na poziomie HTML to po cholerę mi cały ten player SWF?
Ładowanie kolejno w kilku spritach niby coś daje ale są problemy.

Generalnie całą logikę widzę tak:

1. ładowanie JPG
2. wyświetlanie JPG (ale gdy jest załadowane w całości!)
3. ładowanie JPG
4. wyświetlanie JPG (ale gdy jest załadowane w całości!)

czyli gdy zdjęcie nie jest załadowane (bo nap serwer padł albo łącza się zapchały) to wyświetlane jest zdjęcie załadowane w kroku 1. Natomiast gdy zdjęcie w kroku 3. załadowało się to wyświetlane jest jako kolejne w miejsce tego z kroku 1-2.
Nie mam pojęcia w jaki sposób uzależnić wyświetlanie od tego czy zdjęcie załadowało sie całości czy też nie.
Gdy użyję loadMovie bez jakichkolwiek kroków na timeline to jest OK, zdjęcie wyświetla się dopiero po załadowaniu, ale gdy zrobię jakąś pętlę to mam puste klatki bo flash nie czeka tylko jedzie dalej z programem (animacją/klatkami).

W jaki sposób zatrzymuje się animację do czasu załadowania zewnętrznego JPG?

espe1 - Czw 19 Sty, 2012 09:39

wystarczy chyba tak:

Kod:


onFrame (1) {
_root.createEmptyMovieClip("holder", 1);
_root.holder.loadMovie("http://domena.com:8888/out.jpg");
}

onFrame (25) { //odświeżanie co 1 sekundę: 25 klatek = 1 sec
_root.holder.unloadMovie(); //usuwanie wyświetlanego zdjęcia
gotoAndPlay(1); //ładowanie od nowa
}


[ Dodano: Czw 19 Sty, 2012 10:19 ]
żeby nie mrygało to trzeba tak:
1. tworzysz 2 puste mc holder1 i holder2
2. wpisujesz skrypt na scenie 1

Kod:


onFrame (1) {
holder1.loadMovie("http://domena.com:8888/out.jpg");
}
onFrame (24) {
holder2.unloadMovie();
}
onFrame (25) {
holder2.loadMovie("http://domena.com:8888/out.jpg");
}
onFrame (49) {
holder1.unloadMovie();
}


jak chcesz wiedzieć, czy się załadowało to musisz wprowadzić warunki:

Kod:

holder1.onLoad = function(success) {
if (success) {
holder2.unloadMovie();
pagetxt.text = ("Loading complete");
} else {
pagetxt.text = ("File Not Found");
}
};


Można też przerobić dalej: jeśli zdjęcie zostało załadowane w holder1, to ładujemy zdjęcie do holder2, jeśli nie to zostawiamy itd.

krzywy105 - Czw 19 Sty, 2012 14:21

Problem jest w tym że jeżeli flash widzi że wczytuje plik o takiej same nazwie to laduje go z cache (z tego co zauważyłem to przy eksporcie do projektora czyli pliku exe tak się nie dzieje)

Możliwym rozwiązaniem jest coś takiego:

Kod:
randnum = new Date().getTime();
    send_lv.sendAndLoad("http://adres/zdjecie.jpg?"+randnum)


porostu za plikiem trzeba podać losową wartość np. z funkcji czasu wtedy przeglądarka interpretuje to jako nowy plik.

espe1 - Czw 19 Sty, 2012 17:48

Podgląd na stadion narodowy

Scena_1, rozdzielczość: 720x540 i wpisujemy:

Kod:


onFrame (1) {
czas = new Date().getTime();
_root.createEmptyMovieClip("holder1", 1);   
holder1.loadMovie("http://kamery.2012.org.pl/images/warszawa_aktualny_720.jpg?random=0.13668591692112386?"+ czas);
}
onFrame (24) {
_root.holder2.unloadMovie();
}
onFrame (25) {
_root.createEmptyMovieClip("holder2", 2);       
holder2.loadMovie("http://kamery.2012.org.pl/images/warszawa_aktualny_720.jpg?random=0.13668591692112386?" + czas);
}
onFrame (49) {
_root.holder1.unloadMovie();
}

Januszr - Czw 19 Sty, 2012 19:05

Dziwne, a u mnie nie działa to espe ...
Cytat:
Gdyby mi chodziło o autorefresh na poziomie HTML to po cholerę mi cały ten player SWF?
bo swf z takim skryptem nie działa na np telefonach komórkowych. Sam korzystam i musiałem podgląd dzieciaka zrobić w html i to w ramkach jeszcze.
espe1 - Czw 19 Sty, 2012 19:24

działa, tylko obraz z tej kamery pojawia się co pewien czas, np. minuta, dwie, czasami więcej - taka kamera. Z tej drugiej jest dużo lepszy widok:

Kod:


onFrame (1) {
czas = new Date().getTime();
_root.createEmptyMovieClip("holder1", 1);   
_root.holder1.loadMovie("http://kamery.2012.org.pl/images/warszawa2_aktualny_720.jpg?random=0.395930546335876?"+ czas);
}
onFrame (24) {
_root.holder2.unloadMovie();
}
onFrame (25) {
_root.createEmptyMovieClip("holder2", 2);       
_root.holder2.loadMovie("http://kamery.2012.org.pl/images/warszawa2_aktualny_720.jpg?random=0.395930546335876?" + czas);
}
onFrame (49) {
_root.holder1.unloadMovie();
}

Tomy M. - Pią 20 Sty, 2012 15:27

SUPER! Działa doskonale!
http://www.willajagniatko...era-i-meteo,196

Jeszcze muszę kod java otwierający okno przerobić bo cośw IE nie chce działać, ale z tym damo sobie radę. Teraz gdy mam już JPG'a we flashu to mogę sobie pododawać inne elementy do niego np. temepraturę, wiatr itp.

Dzięki serdeczne!

mielu - Pią 20 Sty, 2012 18:54

kaspersky na temat twojej strony mówi
Cytat:

picture
Zagrożenie: HEUR:Trojan.Script.Iframer 2012-01-20 19:51:35

Januszr - Sob 21 Sty, 2012 21:41

Cytat:
działa, tylko obraz z tej kamery pojawia się co pewien czas, np. minuta, dwie, czasami więcej - taka kamera. Z tej drugiej jest dużo lepszy widok

Yhm Działa. Dziękuję espe1.

Tomy M. - Nie 22 Sty, 2012 15:21

mielu napisał/a:
kaspersky na temat twojej strony mówi
Cytat:

picture
Zagrożenie: HEUR:Trojan.Script.Iframer 2012-01-20 19:51:35


Kacperskiego wywal do śmietnika.Informuje Cię o zagrożeniu ze strony pliku picture.jpg
Program informował nieprawidłowo, na serwerze był szkodliwy skrypt jednak w innym pliku i nie zagrażał oglądającym.

[ Dodano: Pią 27 Sty, 2012 18:48 ]
Wszystko fajnie ... ale jak zmienić rozmiar i położenie prezentowanego zdjęcia?
Chciałbym też dodać jakieś elementy PRZED zdjęciam z kamery ale nie da się ... zawsze ładowane zdjęcie przykrywa wszystkie obiekty.


Powered by phpBB modified by Przemo © 2003 phpBB Group