SEMINARSKI RAD IZ MULTIMEDIJE |
||||||||||||||||||||
|
VIRTUALNA MULTIMEDIJALNA BIBLIOTEKAProjektni zadatak Namjena multimedijalne biblioteke je arhiviranje nekoliko vrsta datoteka,tačnije tekstualnih,zvučnih,video datoteka kao I slika.Datoteke se mogu dodati sa lokalnog diska,a tekstualne datoteke I sa web stranice.Datoteke se smiještaju unutar trenutnog direktorijuma u kojem se nalazi Macromedia Director.Potrebno je unutar tog foldera kreirati sljedeće foldere:/sound,/text,/webtext,/video./soundplaylist,/image. Početni ekran aplikacije je dat na sljedećoj slici.
Odabirom opcije Upload korisniku je omogućeno da dodaje datoteke sa lokalnog diska ili ,eventualno, interneta. Primjer upload-a tekstualnog fajla je dat na sljedećoj slici: Aktivacijom dugmeta Select file otvara se dijalog za izbor datoteke.Takođe je neophodno unijeti naziv pod kojim će datoteka biti sačuvana.Ukoliko su parametri uneseni,klikom na dugme Upload datoteka se pamti na sljedeći način:ukoliko je npr. datoteka tekstualna,unutar unaprijed kreiranog foldera text koji se nalazi unutar instalacionog foldera Directora(npr. C:\Director MX 2004\text),se kreira nova datoteka koja nosi ime fajla koji dodajemo,i čiji je sadržaj string koji specifikuje adresu sa koje je dodana datoteka. Lingo skript za Select file: on mouseUp me
fajl=new xtra("fileio") fajl.setFilterMask("Text") rezultat=fajl.displayOpen() if rezultat=EMPTY THEN alert "Izaberite datoteku!" else member("lokacijatextlocal").text=string(rezultat) updateStage end if
end
Lingo skript za Upload file:
global lokacija on mouseUp me fajl1=new xtra("fileio")
putanja=member("lokacijatextlocal").text imeFajla=member("tekstimeizbor").text if putanja=EMPTY THEN alert("Unesite putanju do datog fajla!") else if imeFajla=EMPTY THEN alert "Izaberite ime pod kojim ce datoteka biti sacuvana!"
else lokacija=string(_player.applicationPath & "text\") fajl1.openFile(putanja,0)
fajl2=new xtra("fileio")
fajl2.createFile(string(lokacija & string(imeFajla) )) fajl2.openFile(string(lokacija & string(imeFajla) ),0) fajl2.writeString(putanja)
alert "Upload uspjesan!" end if end
Izborom opcije Search sa početne strane moguće je pretražiti biblioteku prema tipu i imenu datoteke.Izgled ekrana za pretragu dat je na slijedećoj slici: Na primjer,ako pretražujemo tekstualne datoteke klikom na dugme Pretraži tekstualne datoteke pokrece se skript:
global tipDatoteke on mouseUp me
fileList=[] fileListWeb=[] wantedList=[] wantedListWeb=[] uzorak=member("uzorakpotipu").text if uzorak=EMPTY THEN ALERT "Unesite kljucnu rijec pretrage!" else repeat with i = 1 to 1000
n = getNthFileNameInFolder(string(_player.applicationPath & "text\"),i) --spisak imena u folderu u kojem su smjestene datoteke if n = EMPTY then exit repeat fileList.add(n) end repeat duzina=fileList.count() repeat with j=1 to duzina linija = fileList.getAt(j) if linija contains uzorak then--provjera da li ime datoteke sadrzi uzorak po kojem pretrazujemo wantedList.add(string(linija))--ako sadrzi dodajemo ime datoteke u listu pronadjenih datoteka
end if end repeat tekst1=""
REPEAT with k=1 to wantedList.count() clan=wantedList.getAt(k) member("rezultatpretrage").line[k]=string(clan)--u tekstualno polje na slijedecoj strani dodajemo linije sa rezultatima pretrage
end repeat repeat with k = 1 to 1000 m = getNthFileNameInFolder(string(_player.applicationPath & "webtext\"), k)--spretraga datoteka prikljucenih sa web-a,slicno kao gore if m = EMPTY then exit repeat fileListWeb.add(m) end repeat duzinaWeb=fileListWeb.count() repeat with p=1 to duzinaWeb linijaWeb = fileListWeb.getAt(p) if linijaWeb contains uzorak then wantedListWeb.add(string(linijaWeb))
end if end repeat
REPEAT with m=1 to wantedListWeb.count() clanWeb=wantedListWeb.getAt(m) member("rezultatwebpretrage").line[m]=string(clanWeb)
end repeat
updateStage tipDatoteke="text"--globalna promjenljiva koja specifikuje tip datoteka koje trazimo.Upotrebljiv prilikom reprodukcije datih datoteka. _movie.go(81) end if
end
Slijedeći ekran prikazuje rezultate pretrage: Klikom na dugme Play selected files dolazimo do ekrana na kojme je moguće pokrenuti selektovanu datoteku.Utvrdjujemo koja je datoteka selektovana tako što polju sa rezultatima pridružimo skript: global lineText1 global izvortext global izvorsound global izvorvideo on mouseUp me pointClicked = _mouse.mouseLoc--mjesto u polju na koje je klikmuto misem currentMember = sprite(5).member lineNum = sprite(5).pointToLine(pointClicked)--redni broj linije teksta koja je kliknuta lineText1 = currentMember.line[lineNum]--tekst sa te linije izvortext="local" izvorsound="local" izvorvideo="local"--tip datoteke:lokalna ili web
end
Dugmetu Play Selected files je pridružen skript:
global tipDatoteke global lineText1--ime selektovane datoteke iz polja sa rezultatima on mouseUp me if lineText1=EMPTY then alert "Izaberite datoteku!"
else if tipDatoteke="text" then member("texttrenutniclan").text=string(lineText1) _movie.go(101) --navigacija do frejma u kojem se nalazi player za odredjenu vrstu datoteka else if tipDatoteke="video" then member("videotrenutniclan").text=string(lineText1) _movie.go(106) else if tipDatoteke="sound" then member("zvuktrenutniclanime").text=string(lineText1) _movie.go(111) else if tipDatoteke="image" then member("nazivslike").text=string(lineText1) _MOVIE.GO(131) end if
Playeri:
Sound player:
Skript za Play dugme:
global izvorsound--definisana ranije,specifikacija da li je fajl lokalni ili sa web-a on mouseUp me member("mutezvuk").text="MUTE DISABLED"--po dafaultu mute je iskljucen zvukClan=_movie.newMember(#sound) SOUND(1).VOLUME=250--default volume odrediste=member("zvuktrenutniclanime").text if odrediste=EMPTY THEN ALERT "IZABERITE NEKU DATOTEKU!" else if izvorsound="web" then--za datoteku sa web-a fajl2=new xtra("fileio") fajl2.openFile(string(_player.applicationPath & "websound\" & string(odrediste)),0)--otvara se fajl koji nosi ime datoteke adresa=fajl2.readLine()--cita se adresa sa oje je fajl upload-ovan fajl2.closeFile() set mynetid = preloadNetThing(string(adresa)) downLoadNetThing("http://" & string(adresa), the applicationPath & string(odrediste)) sound(1).volume=250 sound(1).playFile(string(the applicationPath & string(odrediste)))
else if izvorsound="local" then --za lokalnu datoteku fajl3=new xtra("fileio")
fajl3.openFile(string(_player.applicationPath & "sound\" & string(odrediste)),0) adresa2=fajl3.readLine() fajl3.closeFile() sound(1).volume=250 sound(1).playFile(string(adresa2))--koristi se metoda playFile() zvucnog kanala
end if END
Skript za Volume up dugme: on mouseUp me jacinaZvuka= sound(1).volume if jacinaZvuka<1000 then jacinaZvuka=jacinaZvuka+100 sound(1).volume=jacinaZvuka end if end
Reprodukcija video datoteka:
Skript za play dugme:
global izvorvideo global objWindow global videoClan
on mouseUp me MEMBER("VIDEO").fileName=EMPTY member("loop").text="LOOP DISABLED" updateStage member("video").stop() member("video").audio=true--reprodukcija zvuka je omogucena
odrediste=member("videotrenutniclan").text if odrediste=EMPTY THEN ALERT "IZABERITE NEKU DATOTEKU!"
else if izvorvideo="local" then fajl3=new xtra("fileio")
fajl3.openFile(string(_player.applicationPath & "video\" & string(odrediste)),0) adresa2=fajl3.readLine()--ocitavanje adrese na kojoj se nalazi datoteka fajl3.closeFile() member("video").fileName=string(adresa2)--fajl sa adrese se pridruzuje windowsmedia cast memberu 'video'
end if END
Skript za Loop disabled/enabled dugme: on mouseUp me if member("poljeloop").text="LOOP ENABLED" then member("poljeloop").text="LOOP DISABLED" member("video").loop=FALSE else if member("poljeloop").text="LOOP DISABLED" then member("poljeloop").text="LOOP ENABLED" member("video").loop=TRUE
end if end
Preglednik slika:
Skript za dugme Pregledaj:
on mouseUp me odrediste=member("nazivslike").text if odrediste=EMPTY THEN ALERT "IZABERITE NEKU DATOTEKU!"
else fajl3=new xtra("fileio")
fajl3.openFile(string(_player.applicationPath & "image\" & string(odrediste)),0) adresa2=fajl3.readLine()
fajl3.closeFile() fajl33=new xtra("fileio") member("bmp1").fileName=string(adresa2)--datoteka sa navedene adrese je pridruzena bitmap cast memberu 'bmp1' updateStage
end if end
Preglednik teksta:
Skript za dugme Pregledaj(tekst): global theNetId global izvortext on mouseUp me
odrediste=member("texttrenutniclan").text if odrediste=EMPTY THEN ALERT "IZABERITE NEKU DATOTEKU!" else if izvortext="web" then--za web datoteke fajl2=new xtra("fileio") fajl2.openFile(string(_player.applicationPath & "webtext\" & string(odrediste)),0) adresa=fajl2.readLine() fajl2.closeFile() theNetID = getNetText(string(adresa))
else if izvortext="local" then --lokalni fajlovi fajl3=new xtra("fileio")
fajl3.openFile(string(_player.applicationPath & "text\" & string(odrediste)),0) adresa2=fajl3.readLine()--ocitavanje adrese sa koje je dodan fajl u biblioteku
fajl3.closeFile() fajl33=new xtra("fileio")--otvaranje fajla sa adrese fajl33.openFile(string(adresa2),0) sadrzaj=fajl33.readLine()--citanje sadrzaja .txt datoteke fajl33.closeFile() member("ispistextpregleda").text=string(sadrzaj) updateStage
end if END
Provjera uspješnosti pribavljanja teksta iz datoteke locirane na web adresi,se vrši tako što se u 1 frejm smijesti skript:
global theNetID on exitFrame me
if netDone(theNetID) then member("ispistextpregleda").text = netTextResult(theNetID) end if end
Odabirom opcije Sound playlist korisniku je omogućeno kreiranje listi zvučnih datoteka,kao i popunjavanje datih listi datotekama po izboru.
Dugmetu za prikaz listi pridružen je sprajt:
global tipDatoteke on mouseUp me
fileList=[]--nova lista fajlova koji se nalaze u folderu /soundplaylist
repeat with i = 1 to 1000
n = getNthFileNameInFolder(string(_player.applicationPath & "soundplaylist\"), i) if n = EMPTY then exit repeat fileList.add(n) end repeat duzina=fileList.count() repeat with j=1 to duzina linija = fileList.getAt(j) member("playlistlista").line[j]=string(linija)--ispis postojecih listi
end repeat END
Dugmetu za dodavanje zvučne datoteke u izabranu listu pridružen je sprajt:
global playlist1 on mouseUp me if member("selectedsoundfile").text=EMPTY THEN ALERT "Trebate izabrati datoteku!" else if member("playlistpolje").text=EMPTY then alert "Trebate izabrati listu zvucnih datoteka!"--provjere da li je korisnik izabrao zvucnu datoteku koju dodaje te listu datoteka u koju ce je dodati else
fajl1=new xtra("fileio")
imeFajla=member("selectedsoundFile").text imeListe=member("playlistpolje").text
lokacija=string(_player.applicationPath & "soundplaylist\") fajl1.openFile((string(lokacija) & string(imeListe)),0 ) playlist1=propList()
setaProp playlist1, string(imeFajla), string(imeListe)--property lista sa imenima datoteka,kojima je pridruzena lista u kojoj se nalaze.U ovom slucaju imeFajla je property.Ukoliko vec postoji,pridruzuje mu se ime nove Liste,a ukoliko ne postoji kreira se novi property
fajl1.writeString(string(imeFajla))--upisivanje imena datoteke u fajl sa imenom liste je ostavljeno,medjutim neefikasno zbog nemogucnosti kreiranja novih redova,sto dovodi do zamjene prethodnog fajla novim,te se lista ustvari sastoji od samo 1 fajla.
fajl1.closeFile() alert "Dodavanje datoteke uspjesno" end if end
Aktivacijom opcije Dodaj novu listu otvara se sljedeći ekran:
Dugmetu Dodaj je pridružen skript:
global potvrda on mouseUp me imeListe=member("imeliste").text --ime liste koju dodajemo potvrda="moze"--specifikacija da li navedena lista vec postoji fileList = [ ] repeat with i = 1 to 100 n = getNthFileNameInFolder(the moviePath, i) if n = EMPTY then exit repeat fileList.append(n) end repeat repeat with j=1 to fileList.count if fileList.getAt(j)=imeListe then potvrda="nemoze" end if end repeat if member("imeliste").text=EMPTY then--ukoliko nije uneseno ime nove liste alert "Unesite naziv liste koju zelite kreirati!" else if potvrda="nemoze" then alert "Lista sa navedenim imenom vec postoji!"
else if potvrda="moze" then--ukoliko ne postoji lista sa navedenim imenom
fajl1=new xtra("fileio") lokacija=string(_player.applicationPath & "soundplaylist\") fajl1.createFile(string(lokacija) & string(imeListe) )--kreiramo datoteku sa imenom liste u koju ce se kasnije upisivati reference na zvucne datoteke
fajl1.closeFile() k= member("spisaklista").lineCount l=k+1 member("spisaklista").line[l]=string(imeListe) --u polje u kom su navedene postojece liste dodajemo novokreiranu listu
end if end
Napomena:Zbog nedostatka prostora prikazani su samo odredjeni skriptovi,primjerci nekih navigacionih prozora,te njihova primjena. preuzmi seminarski rad u wordu » » » |