MULTIMEDIJALNA BIBLIOTEKA
Prilikom izrade multimedijalne biblioteke osnovna ideja je bila da napravimo aplikaciju koja će korisniku omogućiti rad sa različitim tipovima medija, prvenstveno digitalnim video i audio medijima.
Konceptualno, aplikacija je zamišljena kao biblioteka u koju korisnici postavljaju već gotov multimedijalni sadržaj, da bi nakon toga isti mogli pregledati. Glavna uloga same aplikacije je u hijerarhijskom arhiviranju multimedijalnog sadržaja, po osnovnim kategorijama. One predstavljaju tipove multimedijalnog sadržaja koji aplikacija podržava (npr kategorije audio, video, tekst).
Tokom razvoja same aplikacije, proširili smo osnovnu ideju, a samim tim i početni koncept tako što smo omogućili korisniku aplikacije (u daljem tekstu samo korisnik) kreiranje sopstvenih audio zapisa i tekstualnih fajlova. Takođe smo omogućili i otvaranje internet stranica, doduše, na primitivnom nivou, ali funkcionalno i praktično.
Tokom završnih radova na aplikaciji proširili smo hijerarhiju tako da korisnik pored osnovnih kategorija, može kreirati i svoje kategorije. Primjer ovoga je kreiranje foto albuma, gdje svaki foto album sadrži slike koje mu je korisnik dodjelio.Unutar grafičkog interfejsa ostavili smo mogućnost pretrage multimedijalnog sadržaja, ali ova funkcionalnost nije implementirana.
Kada se sve ovo uzme u obzir pred vama stoji potpuno funkcionalna aplikacija, koja na jednostavan način ispunjava potrebne zahtjeve korisnika ali takođe ostavlja i dovoljno prostora za dalju nadogradnju i nove verzije.
2. STORYBOARD, NAVIGACIJA KROZ APLIKACIJU
Ovo je početni ekran multimedijalne biblioteke. Klikom na dugme Start Virtual Library pokreće se glavni ekran multimedijalne biblioteke.
Glavni ekran multimedijalne biblioteke sastoji se od glavnog menija, koji se nalazi sa lijeve strane. Čine ga opcije video fajlovi, audio fajlovi, tekstualni fajlovi, web fajlovi. Klikom na slike u donjem lijevom uglu otvara se meni za rad sa slikama.
Nakon što smo na glavnom ekranu kliknuli na dugme Video fajlovi otvara nam se ovaj ekran. Centralni dio ekrana je zamišljen kao reklamni dio na kome se slučajnim izborom prikazuje najava jednog od trenutno aktuelnihh filmova.
Glavni meni se proširuje opcijama Dodavanje novih video zapisa, Pregled video zapisa.
Ekran dodavanje novih video zapisa je u suštini prilično jednostavan. Podjeljen je na dva dijela, jedan dio nam omogućava izbor video zapisa koji želimo dodati, a u drugom dijelu se taj video zapis reprodukuje.
Ovaj prozor omogućava korisniku aplikacije da dodaje nove video zapise u multimedijalnu biblioteku, a da ih prethodno pogleda.
Ekran pregled video zapisa omogućava korisniku da pregleda video zapise koji se trenutno nalaze u multimedijalnoj biblioteci. Sa lijeve strane kreira se spisak svih video zapisa. Opcijama back i next prelazi se na perthodni i sljedeći video zapis, respektivno.
U slučaju da na računaru nije instaliran Quick Time, ispisaće se ime fajla koji se pušta, ali neće biti reprodukcije.
Nakon što smo na glavnom ekranu kliknuli na dugme Audio fajlovi, otvara se ovaj ekran. Centralni dio je zamišljen kao reklamni dio, na kome se slučajnim izborom prikazuje neka od aktuelnih najava muzičkih grupa ili njihovih albuma.
Glavni meni se proširuje opcijama dodaj audio zapis, snimi audio zapis, pregledaj audio zapise.
Ekran dodaj audio zapis omogućava korisniku da dodaje (arhivira) audio zapise u multimedijalnu biblioteku. Ovaj ekran je podjeljen u dva dijela, gdje prvi dio služi za izbor audio zapisa koji želimo dodati, a u drugom dijelu možemo preslušati te audio zapise, prije nego što ih arhiviramo.
Ekran snimi novi audio zapis omogućava korisniku da snimi svoj audio zapis i arhivira ga. Predpostavlja se da korisnik ima potrebni hardver (mikrofon) koji je korektno instaliran.
Prije samog snimanja korisnik može izabrati frekvenciju snimanja 22050Hz ili 44100Hz kao i 8bitno ili 16bitno snimanje.
Ekran preslušavanje audio zapisa omogućava korisniku da presluša arhivirane audio zapise.
Posebnu pažnju treba obratiti na dva digmeta preslušavanje muzike i preslušavanje snimljenih zapisa. Klikom na jedno od ova dva dugmeta mjenja se spisak audio zapisa koji se preslušava.
Nakon što smo na glavnom ekranu kliknuli na dugme Tekstualni fajlovi, otvara se ovaj ekran. Centralni dio je zamišljen kao reklamni dio, na kome se slučajnim izborom prikazuju dve trenutno aktuelne knjige.
Glavni meni se za sada proširuje opcijom Tekst editor.
Ekran tekst editor omogućava korisniku da kreira tekstualni dokument po principu WYSWYG (What you see is what you get).
Ovaj tekst editor implementira sve standardne opcije tekst editora (bold, italic, underline, insert picture, subscript..). O detaljima njegove izrade pričaćemo kasnije.
Nakon što smo na glavnom ekranu kliknuli na dugme Web fajlovi, otvara se ovaj ekran. Centralni dio još uvijek nije rezervisan. Jedna od ideja je da se u njemu reklamiraju najaktuelnije internet prezentacije.
Glavni meni se za sada proširuje opcijom Otvori stranicu sa interneta.
Ekran otvori stranicu sa interneta omogućava korisniku pregled internet stranica pomoću explorera ugrađenog u samu multimedijalnu biblioteku. Ovaj explorer implementira osnovne funkcionalnosti po uzoru na internet explorer.
Nakon što smo na glavnom ekranu kliknuli na sliku u donjem lijevom uglu otvara se ovaj ekran. Centralni dio još uvijek nije rezervisan. Jedna od ideja je da se u njemu prikazuju najnovije slike i galerije slika iz arhive.
Glavni meni se za sada proširuje opcijama Kreiraj novi album, Dodaj slike u album, Pregledaj albume i slike.
Ekran kreiraj novi album omogućava korisniku da pregleda spisak postojećih albuma i kreira nove albume. Kreirajući već postojeći album, korisnik briše sadržaj tog albuma (resetuje ga).
Ekran dodaj slike u album omogućava korisniku da dodaje slike u albume koje je prethodno kreirao. Svaka slika koju korisnik doda u album automatski se arhivira u multimedijalnu biblioteku.
Korisnik ima mogućnost da pregleda svaku sliku prije nego što je arhivira. Takođe za svaki album koji izabere prikazuje mu se spisak trenutnih slika u tom albumu.
Ekran pregledaj slike omogućava korisniku da pregleda albume koje je kreirao i slike koje je arhivirao.
Nakon što unese ime albuma i pritisne dugme ok prikazuje mu se lista svih slika u tom albumu. Ove slike korisnik pregleda pomoću opcija back i next.
Napomena:
Svaki korisnički ekran (izuzev glavni navigacijski ekran) u gornjem desnom uglu ima opciju Virtual Library Homepage. Klikom na ovu opciju korisnik se vraća na glavni navigacijski ekran. Na ovaj način korisnik u svakom momentu može pristupiti glavnom meniju, a samim tim i bilo kom drugom dijelu aplikacije.
3. LINGO SKRIPTE
Tokom realizacije multimedijalne biblioteke napisali smo veliki broj lingo skriptova. Neki od njih su korišteni više puta kao što je poznati:
on prepareFrame me
_movie.go(_movie.frame)
end
Neki lingo skriptovi su napisani da pomognu izvršavanje postojećih lingo skriptova ili da isprave bug-ove koji su se javljali prilikom debugginga. U daljem tekstu opisaćemo najvažnije i najzanimljivije lingo skriptove, trudeći se da sažeto i na jednostavan način opišemo kako oni funkcionišu.
Napomena:
Pored ovih lingo skriptova koristili smo i nekoliko gotovih xtra biblioteka. Ove biblioteke, kao i njihove funkcije opisaćemo u sledećem poglavlju.
3.1. KONTROLA POZADINSKE PJESME
Sljedećih nekoliko skriptova omogućavaju korisniku da kontroliše pozadinsku pjesmu, koja kreće čim se aplikacija starta.
U samom startu aplikacije , pokreće se pjesma u sound kanalu 1 i atribut zvuk = -1. Ovo znači da pauza nije pritisnuta.
global zvuk
on PrepareMovie
--> zvuk=1 znaci da je zvuk ukljucen, zvuk=-1 je isljucen zvuk
zvuk = 1
sound(1).play(member("Eminem-stan"))
end
Sledeća skripta se aktivira klikom na sound off/on dugme. Njena jedina uloga je da promjeni vrijednost zvuk promjenjive. Ako je zvuk = 1 prije startanja skripte onda će mu nova vrijednost biti -1 nakon izvršavanja skripte i obrnuto.
global zvuk
on mouseUp me
zvuk = zvuk * (-1)
-->if (zvuk=1) then member("sound").text = "SOUND ON"
-->if (zvuk=-1) then member("sound").text = "SOUND OFF"
if (zvuk=1) then
sprite("sound").member.text = "SOUND ON"
sound(1).play()
end if
if (zvuk=-1) then
sprite("sound").member.text = "SOUND OFF"
sound(1).pause()
end if
end
Klikom na opcije tiho, srednje, glasno mjenja se jačina pozadinske pjesme. Skripte koje rade ovo imaju sledeći izgled. Važno je napomenuti da volume atribut sound kanala uzima vrijednosti u opsegu od 0 do 255, gdje 0 predstavlja najnižu jačinu (pjesma se ne čuje) a 255 najglasniju reprodukciju.
on mouseUp me
sound(1).volume = 130
end
3.2. KREIRANJE
NOVOG ALBUMA
on mouseUp me
test = sprite("noviAlbum").member.text
if (test = "") then _movie.go("greska")
else if (test = " ") then _movie.go("greska")
else if (test = ".") then _movie.go("greska")
else if (test = ",") then _movie.go("greska")
else
fajl = new xtra("fileio")
noviAlbum = sprite("noviAlbum").member.text
fajl.createFile(_movie.path & "\albumi\" & noviAlbum & ".txt")
_movie.go("hvala")
albumi = new xtra("fileio")
albumi.openFile(_movie.path & "\albumi\albumi.txt", 0)
pom = albumi.readFile()
albumi.writeString(test & numtochar(13))
end if
end
Kada korisnik unese ime novog albuma u sprite noviAlbum i pritisne dugme kreiranje novog albuma aktivira se prikazana skripta. Ova skripta otvara fajl albumi.txt koji već postoji i pomoću funkcije writeString() upisuje u njega naziv novog albuma.
Funkcija writeString() prima parametar test & numtochar(13). Numtochar(13) predstavlja taster enter. Ovo znači da se nakon svakog novog albuma pritišće taster enter, tako da u fajlu albumi.txt svaki red predstavlja po jedan unos.
Važno je napomenuti da u fajlu albumi.txt stoji samo spisak naslova albuma. Konkretno kreiranje novog albuma vrši se funkcijom
fajl.createFile(_movie.path & "\albumi\" & noviAlbum & ".txt")
_movie.path atribut predstavlja putanju do aplikacije koju pokrećemo, a kada ovaj atribut povežemo sa \albumi\imeNovogAlbuma.txt dobijemo tačnu lokaciju ime fajla koji funkcija kreira.
3.3. ISPISIVANJE SADRŽAJA FAJLA U TEXTBOX
on prepareFrame me
-- ispisuje trenutni sadrzaj fajla u neki boks
-- ovo ce nam trebati vise puta
fajl = new xtra("fileio")
fajl.openFile(_movie.path & "\albumi\albumi.txt",1)
pom = fajl.readFile()
sprite("albumi").member.text = pom
if(sprite("album").member.text <> "") then
fajl2 = new xtra("fileio")
fajl2.openFile(_movie.path & "\albumi\" & sprite("album").member.text & ".txt",1)
pom2 = fajl2.readFile()
sprite("sadrzaj").member.text = string(pom2)
end if
end
Tokom kreiranja aplikacije ovu skriptu smo koristili svaki put kada je trebalo ispisati sadržaj nekog fajla u textbox. Konkretno, gore je prikazan ispis sadržaja fajla albumi.txt u textbox sprite albumi.
Funkcija readFile() se nalazi unutar standardnog fileio xtra. Ona očitava sadržaj tekstualnog fajla i upisuje ga kao string u neku promjenjivu. Kasnije atributu text nekog sprite-a dodjelimo rezultat te funkcije.
pom = fajl.readFile()
sprite("albumi").member.text = pom
Za ovakvu skriptu potrebno je napraviti još jednu malu skriptu, koja se obično nalazi prije ove skripte. Uloga te pomoćne skripte je da svaki put resetuje (izbriše) sadržaj textboxa.
sprite("albumi").member.text= “”
Na ovaj način spriječavamo duple unose u textbox.
3.4. KREIRANJE
LISTE SADRŽAJEM TEKSTUALNOG FAJLA
global listaAudio
global pozicijaAudio
global duzinaListeAudio
global izborListe
global izborDirektorija
on prepareFrame me
-- ispisuje trenutni sadrzaj fajla u neki boks
-- ovo ce nam trebati vise puta
fajl = new xtra("fileio")
fajl.openFile(_movie.path & "\audio\" & izborListe ,1)
pom = fajl.readFile()
sprite("playlist").member.text = pom
-- dio koda koji priprema listu sa slikama
listaAudio = []
sadrzaj = pom
duzina = sadrzaj.length
repeat while (sadrzaj.length>4)
pom2 = offset(numtochar(13),sadrzaj)
unos = sadrzaj.char[1..(pom2-1)]
listaAudio.add(unos)
sadrzaj = sadrzaj.char[(pom2+1)..duzina]
end repeat
-- izracunava duzinu liste
duzinaListeAudio = listaAudio.count()
-- dio koda koji pokrece snimak
sound(1).playFile(_movie.path & "\audio\" & izborDirektorija & "\" & listaAudio[pozicijaAudio])
sprite("unos").member.text = listaAudio[pozicijaAudio]
end
Obratite pažnju na dio koda koji priprema listu sa slikama. Taj dio se nalazi odmah ispod djela koda koji stavlja sadržaj nekog fajla u textbox (ovaj kod smo ranije opisali).
Kreiramo novu listu listaAudio = []. Unutar petlje repeat while svaki put kada naiđemo na kraj reda, tj. na numtochar(13), isjecamo taj dio iz fajla i dodajemo ga u listu.
pom2 = offset(numtochar(13),sadrzaj)
unos = sadrzaj.char[1..(pom2-1)]
listaAudio.add(unos)
Funkcija offset provjerava da li se numtochar(13) nalazi u stringu sadržaj i ako se nalazi vraća kao rezultat broj koji predstavlja mjesto na kom se nalazi. Funkcija add(unos) dodaje novi unos u listu.
Uslov petlje je (sadrzaj.length>4), ovo je zbog toga što svaki fajl mora imati više od 4 karaktera da bi bio validan, (.mp3) najmanje tri otpadnu na ekstenziju i jedan na tačku.
3.5. ČESTO KORIŠTENE
SKRIPTE
Prilikom kreiranja aplikacije više puta nam je zatrebalo da odredimo ekstenziju fajla koji otvaramo. Pomoću te ekstenzie određivali smo gdje arhivirati fajl i vršili neke dodatne promjene. Skripta ima jako jednostavnu logiku, a to je da pronalazi tačku unutar stringa koji predstavlja ime fajla. Jednom kada pronađe tačku kopira sve od te tačke do kraja fajla (a to je ustvari ekstenzija fajla). Rezultat vraća u atribut ekstenzija.
-- odredjuje ekstenziju fajla
lokacija = lista[movieListaPozicija]
duzina = lokacija.length
pozicija = offset(".",lokacija)
ekstenzija = lokacija.char[pozicija+1..duzina]
Kada god smo trebali zaustaviti film na nekom frejmu, a da ne moramo zaustavljati kompletan film koristili smo sledeću skriptu. Ova skripta konstantno vraća film na trenutni frejm i na taj način ostavlja utisak kao da je film pauziran.
on exitFrame me
_movie.go(_movie.frame)
end
Još jedna korisna skripta je skripta za slučajno aktiviranje bannera. Uloga ove skripte je da od nekoliko ponuđenih reklama, slučajno izabere jednu i pokrene je unutar sprajta unaprijed predviđenog za reklame. Skripta koju smo prikazali bira slučajni broj random(5). Zavisno od broja koji se dobije aktivira se banner1 .. banner5 i pomoću atributa fileName dodjeljuje se članu member(109).
on prepareFrame me
x = random(5)
banner1 = root + "/banner/movie/Shrek3.jpg"
banner2 = root + "/banner/movie/LordOfTheRings.jpg"
banner3 = root + "/banner/movie/Transformers.jpg"
banner4 = root + "/banner/movie/Hellboy.jpg"
banner5 = root + "/banner/movie/RushHour3.jpg"
if (x = 1) then member(109).fileName = _movie.path & "\banner\movie\Shrek3.jpg"
if (x = 2) then member(109).fileName = _movie.path & "\banner\movie\LordOfTheRings.jpg"
if (x = 3) then member(109).fileName = _movie.path & "\banner\movie\Transformers.jpg"
if (x = 4) then member(109).fileName = _movie.path & "\banner\movie\Hellboy.jpg"
if (x = 5) then member(109).fileName = _movie.path & "\banner\movie\RushHour3.jpg"
end
Napomena:
Da smo htjeli napraviti administratorski meni, pomoću koga administrator može dodavati nove reklame, tada bi vjerovatno imali funkciju koja očitava sadržaj direktorija sa reklamama, smješta ga u listu, a funkcija random ne bi primala broj 5, nego neko x, gdje x predstavlja broj reklama u direktoriju.
4. XTRA BIBLIOTEKE
Ove biblioteke predstavljaju
gotov skup funkcija, koje se mogu koristiti unutar Director MX
2004. Ono što moramo uraditi da bismo koristili ove funkcije
jeste da svaku biblioteku prethodno kopiramo u direktorij predviđen za
xtra biblioteke, unutar Director instalacionog direktorija.
C:\Program Files\Macromedia\Director MX 2004\Configuration\Xtras
Unutar xtras direktorija , nalaze se poddirektoriji koji omogućavaju da se xtra biblioteke sortiraju. U suštini nije bitno u kom direktoriju se nalazi xtra biblioteka, dok god je unutar xtras direktorija.
Jednom kada prekopiramo xtra biblioteku u direktorij xtras, potrebno je restartovati Director MX 2004, da bi uslijedile promjene. Nakon toga u glavnom meniju Insert pojave se xtras koje možemo koristiti.
U daljem izlaganju, opisaćemo neke xtra biblioteke koje smo koristili. Ove xtra biblioteke su preuzete sa interneta i neke od njih se plaćaju. Unutar naše aplikacije koristili smo besplatne i potpuno legalne verzije tih biblioteka.
Od opisanih xtra biblioteka
najviše nam je pomogla Buddy API xtra biblioteka. Pomoću
nje smo kopirali fajlove sa jednog mjesta na drugo, kreirali direktorije,
brisali direktorije i fajlove. Ovo su samo neke od osnovnih funkcija ove
jako opširne biblioteke. Detaljna dokumentacija je priložena u dodatku.
4.1. cXtraSoundRec
cXtraSounRec dozvoljava nam da snimimo audio zapis
i zapamtimo ga kao wav ili MP3 format, promjenimo jačinu snimanja ili
kvalitet snimanja.
- Snimanje zvuka sa mikrofona ili nekog drugog izvora
zvuka
- Učitavanje wav fajlova
- Konkatenacija dva wav fajla
- Konvertovanje audio formata u wav
- Arhiviranje wav fajlova
- Arhiviranje MP3 fajlova
- Prikazuje Windows Mixer
- Prikazije Windows Record Mixer
- Podržava formate : 8000, 11025, 22050, 44100 Hz;
8, 16 bit; mono, stereo
- Mjenja volumen svakog sound kanala
4.2. cXtraRTFEditor
cXtraRTFEditor je standardni RTF editor. Moguće je zapamtiti rezultate kao .txt ili .rtf format.
- Radi sa windows fontovima instaliranim na lokalnom sistemu
- Font stilovi : Bold, Italic, Underline, StrikeOut, Color, BackColor, Size, SuperScript, SubScript
- Font poravnanja : Left, Center, Right
- Undo/Redo
- Copy/Paste
- New / Open / Save Files
- Insert Image
- Resize image
- Insert OLE files
- Print preview
4.3. cXtraWebBrowser
Ovaj xtra je Internet Explorer komponenta koja mjenja ActiveX. Nije potrebno instalirati nikakav dodatni softver na računar. Ova xtra biblioteka omogućava sve opcije koje ima Internet Explorer.
- Podešavanje web browsera sa željenim menijem
- Standardne funkcije: Back, Find, Forward, Home, Print, Stop
- Address bar, Status bar, Tool bar
- Uključi i isključi barove, on/off
- Arhivirat html sadržaj
5. PRILOG
5.1. VAŽNIJI ČLANOVI
EKIPE
Sama aplikacija ima veliki broj članova ekipe. Opisali smo neke od njih, koji su nam bili posebno značajni.
Redni broj |
Naziv |
Opis |
1 |
logo |
slika koja predstavlja logo multimedijalne biblioteke, koristi se cijelo vrijeme |
2 |
pozdravniTekst |
uvodni tekst, pojavljuje se samo u uvodnoj sceni |
4 |
startVL |
dugme koje vodi korisnika iz uvodne u glavnu scenu |
316 |
moviePreview |
Ovaj member se nalazi u dijelu aplikacije dodaj novi video. Unutar njega se prikazuje preview videa. |
326 |
movieLook |
Ovaj member se nalazi u dijelu aplikacije pregled video zapisa. Unutar njega se prikazuje trenutno aktueli video. |
109 |
bannerMovie |
Ovaj member se nalazi u dijelu aplikacije video fajlovi. Unutar njega se prikazuje slučajno izabrana reklama za film. |
97 |
bannerAudio |
Ovaj member se nalazi u dijelu aplikacije audio fajlovi. Unutar njega se prikazuje slučajno izabrana reklama za muzičku grupu ili album. |
120 |
bannerText1 |
Ovaj member se nalazi u dijelu aplikacije text fajlovi. Unutar njega se prikazuje reklama za knjigu, koja stoji sa lijeve strane. |
121 |
bannerText2 |
Ovaj member se nalazi u dijelu aplikacije text fajlovi. Unutar njega se prikazuje reklama za knjigu, koja stoji sa desne strane. |
107 |
world_map_capitals |
Ovaj member u sebi sadrži sliku wordMapCapitals koja se ne mjenja tokom izvršavanja aplikacije. On se nalazi u dijelu aplikacije web fajlovi. |
218 |
audioPreview |
Ovaj member se nalazi u dijelu aplikacije dodaj novi audio fajl. Unutar njega se prikazuje preview audio fajla. |
196 |
cXtraWebBrowser |
Member koji smo kreirali klikom na Insert – cXtra . Ovaj member u sebi sadrži kompletan web browser sa default podešavanjima. |
204 |
cXtraRtfEditor |
Member koji smo kreirali klikom na Insert – cXtra . Ovaj member u sebi sadrži kompletan RTF tekst editor sa default podešavanjima. |
5.2. DOKUMENTACIJA XTRA BIBLIOTEKA
5.2.1. cXtraSoundRec
Property |
Type |
Description |
AudioChannel |
string |
"mono"
"stereo" |
AudioFrequency |
string |
"8000", "11025", "22050", "44100" frequency of the audio capture |
AudioResolution |
string |
"8 bits","16 bits" use when save to file |
LeftVolume |
integer |
0..100 wave out volume of the left channel |
RightVolume |
integer |
0..100 wave out volume of the right channel |
RecordTimeLimit |
integer |
Limit the record to X milliseconds |
Method |
Argument |
Return |
Description |
ConcatFiles |
FileName1 : string
FileName2 : string
FileOut : String |
string |
Concat two wav files. The files should have the same format. |
ConvertFileFormat |
SourceFile : string
DestFile : string
Freq :integer
Resolution : integer
Channels : integer |
boolean : true
if function success |
Convert a file to a specified format.
Freq should be 8000,11025,22050,44100
Resolution should be 8 or 16
Channels should be 1 or 2 |
ExtractSamples |
FileName : string ; start , end , count : integer |
string(array) |
Return an array with samples. You can draw a chart with the data. |
GetCuePointList |
FileName : string |
string |
Return an array with cue points informations (position, name, description) |
GetDevices |
|
string |
Return the list of wave input devices |
GetFileFormat |
FileName : string |
|
Return some informations on the specified file:
SampleRate, BitsPerSample, NumberOfChannels, Duration |
GetStatus |
|
string |
Return teh current status of the xtra :
"No sound", "Recording", "Playing", "Stopped" |
GetRecordVolume |
Device : string |
integer |
Get the record volume of the specified device 0..100.
Use GetDevices to get the device name. You can use "" to get the volume of the microphone by default. |
Length |
|
integer |
Length of the record in milliseconds |
LoadFromFile |
FileName : string |
boolean : true
if function success |
Load a wav from a file. |
Pause |
|
|
Stop playing the wav |
Play |
|
|
Play the previous record or the playing sound |
Position |
|
integer |
Position (after pause or during play) in milliseconds |
Reset |
|
|
Reset the xtra |
Resume |
|
|
Restart playing after a pause |
SaveRecordToFile |
Filename : string |
boolean :true
if function success |
Save the record to a wav file |
SaveRecordToMP3 |
Filename : string |
boolean :true
if function success |
Save the record in mp3 format (if lame dll is present).
Record should be made with
Resolution = 16bits and Frequency = 44100hz. |
SaveRecordToMP3Ex |
Filename : string
BitRate : integer
Quality : string |
boolean :true
if function success |
Save the record in mp3 format (if lame dll is present).
Record should be made with Resolution = 16bits and Frequency = 44100hz.
bit rate could be :
32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320
Quality : NORMAL, LOW, HIGH, VOICE |
SaveRecordToOGG |
Filename : string |
boolean :true
if function success |
Save the record in ogg format (if vorbisenc.dll is present).
Record should be made with Resolution = 16bits and Frequency = 44100hz and Stereo. |
SaveRecordToOGGEx |
Filename : string
BitRate : integer |
boolean :true
if function success |
Save the record in ogg format (if vorbisenc.dll is present).
Record should be made with Resolution = 16bits and Frequency = 44100hz and Stereo. |
Seek |
position : integer |
|
Position the wav before playing (in millisecond) |
SetRecordVolume |
Device : string
Volume : integer |
|
Set the record volume of the specified device. Volume should be in 0..100.
Use GetDevices to get the device name. You can use "" to set the volume of the microphone by default. |
ShowMixer |
|
|
Show the windows sound mixer (out levels) |
ShowRecordMixer |
|
|
Show the windows sound mixer (in levels) |
StartRecord |
|
|
Start the sound record |
Stop |
|
|
Stop the record or the playing sound |
TruncateFile |
FileName : string
FileOut : string
StartTime : integer
EndTime : integer |
|
Truncate a file a from the specified positions.
StartTime and EndTime should be in milliseconds |
5.2.2. cXtraRTFEditor
Property |
Type |
Description |
BackGroundColor |
color |
Get or set the background color of the selection in the rich edit control. This property is only available for the sprite. |
BorderStyle |
integer |
If BorderStyle=0 then the cXtraRTFEditor sprite has no border
If BorderStyle=1 then the cXtraRTFEditor sprite has aborder |
Color |
Color |
Get/set the background color of the editor. |
DefaultFontName |
color (integer) |
Change the default font. Attention : the font must be installed in the operating system. |
DefaultFontSize |
string |
Size of the default font. This changes the sprite size too. |
DefaultFontColor |
integer |
Color of the default font. This changes the sprite size too. |
DefaultFontStyle |
integer |
Change the default font style : Bold = 1, Italic = 2, Underline = 4, StrikeOut = 8
Example : Bold+Italic : 1+2=3 : Fontstyle=3 |
DetectURL |
boolean |
If DetectURL= true then the LinkClicked event is triggered if the user clicks on a link. |
Modified |
boolean |
Indicate if the rtf editor was modified (you can fix it). This property is only available for the sprite. |
FilterDialogs |
string |
Specify the text for the filter of the save as dialog.
The format should be :
"All files (*.*)|*.*|RTF file (*.rtf)|*.rtf|Text file (*.txt)|*.txt" |
FontName |
color (integer) |
Get or set the font. Attention : the font must be installed in the operating system. This property is only available for the sprite. |
FontSize |
string |
Get or set the size of the font. This property is only available for the sprite. |
FontColor |
RGBColor |
Get or set color of the font. This property is only available for the sprite.
Ex: sprite(1).FontColor=rgb(255,0,0) |
FontStyle |
integer |
Get or set the font style : Bold = 1, Italic = 2, Underline = 4, StrikeOut = 8
Example : Bold+Italic : 1+2=3 : Fontstyle=3
This property is only available for the sprite. |
IsBold |
boolean |
Get or Set the Bold style of the selection. This property is only available for the sprite. |
IsItalic |
boolean |
Get or Set the Italic style of the selection. This property is only available for the sprite. |
IsUnderline |
boolean |
Get or Set the Underline style of the selection. This property is only available for the sprite. |
IsStrikeOut |
boolean |
Get or Set the Strikeout style of the selection. This property is only available for the sprite. |
NewFileMessage |
string |
message display when you call the new document methode and when the current document was modified. |
ToolBarVisible |
boolean |
Tool bar is visible or not. |
MaxLenght |
integer |
Set the max lenght of text in the editor |
OverWriteMessage |
string |
message display when user try to overwrite a file. |
PageView |
boolean |
WYSIWYG formatting or not in a rich edit control. This property is only available for the sprite. |
ReadOnly |
boolean |
The user can write or not in the editor. |
SelLength |
integer |
the length of the selected text. This property is only available for the sprite. |
SelStart |
integer |
the position of the first carater in selection. This property is only available for the sprite. |
SelText |
string |
the selected text. This property is only available for the sprite. |
WordWrap |
boolean |
word wrap option for the Rich Edit control. This property is only available for the sprite. Attention : this property doesn't work if you use images or OLE objects : the links will be broken. |
Method |
Arguments |
Return |
Description |
CheckPrinter |
|
boolean |
Return true if the printer is ready. Useful when the final user uses a network printer for example, this avoid to get an error message.
put sprite(1).CheckPrinter()
-- 1 |
ChooseBackColor |
|
|
Open a color dialog box to change the text background color. Custom colors are stored during the application session. |
ChooseTextColor |
|
|
Open a color dialog box to change the text color. Custom colors are stored during the application session. |
ClickOn |
NameOfButton : string |
|
Simulate a click on the specified button.
(The list of correct values is at the bottom of this table) |
CopyToClipboard |
|
|
Copy the current selection to the clipboard.
If you copy a colored text and paste it to an external editor, you will get the colored text. |
GetCursorPos |
|
position : point |
Get the position of the cursor : position[1] is the line number and position[2] is the char number in the current line |
GetSystemFontList |
|
StringList |
Get all font installed on the system in a list of strings like : "["Arial","Verdana"]" |
GetText |
{TextOnly: boolean} |
String |
Get the Text of RTF control. TextOnly is true when you don't want RTF symbols (this argument is optionnal). |
InsertImage |
member, castlib : integer/String |
boolean |
insert an image from a castlib member |
InsertImageFile |
filename: string |
boolean |
insert an image from a file. |
InsertOleFile |
filename: string |
|
insert a ole object from a file |
LoadFromFile |
FileName : string |
boolean : true if the file is loaded, false in all other case. |
Load the items from a text file |
NewDocument |
|
|
prepare th rich edit control for a new document. |
OpenFile |
|
|
Show a dialog for choose a file and open it |
PageConfig |
|
|
Show a dialog to set the marges of the document. |
PasteFromClipboard |
[Pos : integer] |
|
The Pos argument is optional and can be :
-1 : the begining of the text
-2 : the end of the text
a number : the position in the text
If Pos is not specified, the text in the clipboard is pasted to the current position of the cursor. |
Preview |
|
boolean : false if no printer is installed |
Show a print preview of the current document. |
Print |
|
|
Show a dialog for printing the current document and print it. |
SaveFile |
|
|
Save the current file. |
SaveFileAs |
|
|
Save as the current document. |
SaveToFile |
FileName : string |
boolean : true if the file is saved, false in all other case. |
Save the items to a text file |
SelectAll |
|
|
Select all datas in the RTF Editor |
SetBtnCaptionPreview |
Lst:stringList |
|
Set the Caption of the Toolbar buttons.
ex: ["BtnPrint = Print", "BtnClose = Close",...]
the name of the buttons are :
"BtnPrint", "BtnNext", "BtnPrev", "BtnZoomIn", "BtnZoomOut", "BtnClose" |
SetBtnHint |
Lst:stringList |
|
Set the Hint of the Toolbar buttons.
ex: ["BtnNew = new file", "BtnOpen = open a file"...] |
SetBtnHintPreview |
Lst:stringList |
|
Set the Hint of the Toolbar buttons of the preview.
Ex:
Lst = ["BtnPrint = Printing my doc !", "BtnClose = Close this window"]
sprite(1).SetBtnHintPreview(string(Lst)) |
SetBtnImages |
member, castlib : integer/String |
boolean |
Put images for each node by loading a Bitmap from an image member.
The size of each part of the image should be 16 x 16 pixels.
Your bitmap file must be horizontal with all your images.
So your bitmap width will be 16 x number of images.
The pixel color at the bottom left corner specify the transparency color. |
SetColorName |
Lst:stringList |
|
Set the names of each color in the color button of the toolbar.
sprite(1).SetColorName(string(["Make your choice","Auto","Black","Dark red","Dark green"])) |
SetCursorPos |
Pos : integer OR Point : Point |
|
Set the position of the cursor in the text.
Point is (line,column) |
SetFontList |
Lst:stringList |
|
Specify the list of fonts available in the font selection of the editor :
sprite(1).SetFontList(string(["Arial","Verdana"])) |
SetText |
Text: string |
boolean |
Set the Text of cXtraRTFEditor.
(use SetText(member("textmember").rtf)
Warning : We found several bugs in the RTF code of Director Members (all versions) so you should test a little bit more your application if you use this method. You should use external RTF files to be sure of the result. |
ShowButtons |
Lst:List, value:boolean |
|
Set the visible property of each buttons of the toolbar.
ex: sprite(1).ShowButtons( string(["BtnNew", "BtnPrint"]), false) |
ShowButtonsPreview |
Lst:stringList |
|
Set the visible property of each buttons of the toolbar.
Ex:
Lst = ["BtnPrint", "BtnClose"]
sprite(1).ShowButtonsPreview(string(Lst)) |
SetMargins |
R:Rect or x1,y1,x2,y2: integer |
|
Set the margins of the document. |
5.2.3. cXtraWebBrowser
Property |
Type |
Description |
Address |
String |
Set the address of the web page (ex: www.cxtra.net) |
AddressBarVisible |
boolean |
The Address bar is visible or not |
StatusBarVisible |
boolean |
The Status bar is visible or not |
ToolBarVisible |
boolean |
The Tool bar is visible or not |
Method |
Arguments |
Return |
Description |
Back |
|
|
Go to the back page (in the history) |
Find |
|
|
Go to find page (ie setting) |
Foward |
|
|
Go to the forward page (in the history) |
Home |
|
|
Go to home page |
Print |
|
|
Print the page |
Reload |
|
|
Refresh the page |
Save |
FileName:String |
boolean |
Save the html code of the current page (not images and objects) to the specified file. Return true if success |
SaveAs |
|
|
Save the html code of the current page (not images and objects) to the file specified by the saveas dialog box. |
SetHint |
Liste: string |
|
Set the hint of the button of the tool bar. The order is : ["Back", "Foward", "Stop", "Home", "Find", "Print"] |
SetImages |
member, castlib : integer |
|
Put images for each node by loading a Bitmap from an image member.
The size of each part of the image should be 24x24 pixels.
Your bitmap file must be horizontal with all your images.
So your bitmap width will be 24 x number of images.
See the demo to understand in one second.
The pixel color at the bottom left corner specify the transparency color. |
Stop |
|
|
Stop loading the page |
Event |
Arguments |
Return |
Description |
PageChanging |
url : string |
You can use return true to cancel the action |
This event is triggered each time a page is loaded, you can return false to stop the loading.
Ex:
on PageChanging me, NewUrl
put NewUrl
if NewUrl contains ".com" then
alert(".com pages are disabled in the event script of the xtra.")
return true
end if
if NewUrl contains "cxtra.net" then
alert("It's a nice site !") |
5.2.4. BuddyAPI xtra
This list covers Windows 3.7 and Macintosh 1.6
Information functions |
|
Version |
returns version info (OS, NT, DOS, QuickTime, VFW) |
SysFolder |
returns location of system folders (windows, system, temp, etc) |
CpuInfo |
gets information (type, speed) about the processor installed |
DiskInfo |
gets information (type, size, name, number) about a disk |
DiskList |
reurns list of mounted disks |
FindApp |
finds the application associated with a file type |
ReadIni |
reads an ini file |
WriteIni |
writes an entry to an ini file |
DeleteIniEntry |
deletes entry from an ini file |
DeleteIniSection |
deletes entire section from an ini file |
FlushIni |
forces Windows to write an ini file to disk |
ReadRegString |
reads Registry string value |
WriteRegString |
writes string value to the Registry |
ReadRegNumber |
reads Registry number value |
WriteRegNumber |
writes number value to the Registry |
ReadRegBinary |
reads Registry binary value |
WriteRegBinary |
writes binary value to the Registry |
ReadRegMulti |
reads Registry multi string value |
WriteRegMulti |
writes multi string value to the Registry |
DeleteReg |
deletes Registry entry |
RegKeyList |
returns a list of sub-keys inside a registry key |
RegValueList |
returns a list of values inside a registry key |
SoundCard |
checks whether a sound card is installed |
FontInstalled |
checks whether a font is installed |
FontList |
returns a list of installed fonts |
FontStyleList |
returns a list of available styles for a truetype font |
CommandArgs |
returns the command line arguments the application was started with |
Previous |
checks whether a previous instance is running |
ScreenInfo |
gets information (width, height, etc) of the screen |
MultiDisplayInfo |
gets information (width, height, etc) of the screen |
MultiDisplayList |
gets list of installed monitors |
MemoryInfo |
returns information about the system memory |
Gestalt |
returns gestalt value |
GestaltExists |
checks whether a gestalt is available |
System functions
|
|
DisableDiskErrors |
disables the 'Drive not ready' error message |
DisableKeys |
disables/enables key presses |
DisableMouse |
disables/enables mouse clicks |
DisableSwitching |
disables/enables task switching |
DisableScreenSaver |
disables/enables the screen saver |
ScreenSaverTime |
sets the screen saver time out |
SetScreenSaver |
sets the screen saver |
SetWallpaper |
sets the desktop wallpaper |
SetPattern |
sets the desktop pattern |
DesktopColor |
returns the current desktop color |
SetDesktopColor |
sets the desktop color |
SetDisplay |
sets the screen size and depth |
SetDisplayEx |
sets the screen size and depth |
SetMultiDisplay |
Sets the screen size and depth |
ExitWindows |
exits or restarts Windows |
RunProgram |
runs an external program |
WinHelp |
shows a Windows help file |
MsgBox |
shows standard message box |
MsgBoxButtons |
changes text on MsgBox buttons |
MsgBoxEx |
shows custom message box |
Prompt |
asks for a string input |
LogIn |
asks for a log in |
HideTaskBar |
shows/hides the Win95 task bar |
SetCurrentDir |
changes the DOS current directory |
CopyText |
copies text to the clipboard |
PasteText |
pastes text from the clipboard |
EncryptText |
encrypts a text string |
DecryptText |
decrypts a text string |
PlaceCursor |
positions the cursor |
RestrictCursor |
restricts the cursor to a specific screen area |
FreeCursor |
allows the cursor to move anywhere on the screen |
SetVolume |
sets the volume of wave and midi files and audio CD |
GetVolume |
gets the current sound volume of wave and midi files and audio CD |
Environment |
gets the value of an environment variable |
SetEnvironment |
sets the value of an environment variable |
Administrator |
returns administrator status |
UserName |
returns the current user |
ComputerName |
returns the computer network name |
Language |
return current system language |
InstallFont |
installs TrueType or bitmap font |
Sleep |
pauses the calling Directof/Authorware program |
SystemTime |
returns the current system time/date |
SetSystemTime |
sets the system time/date |
KeyIsDown |
checks whether a key is being held down |
KeyBeenPressed |
checks whether a key has been pressed |
CreatePMGroup |
creates a Program Manager or Start Menu group |
DeletePMGroup |
deletes a Program Manager or Start Menu group |
PMGroupList |
returns a list of all Program Manager groups |
PMSubGroupList |
returns a list of all groups inside another group |
CreatePMIcon |
creates a Program Manager or Start Menu icon |
DeletePMIcon |
deletes a Program Manager or Start Menu icon |
PMIconList |
returns a list of all the icons in a Program Manager group |
PrinterInfo |
returns information about the installed printer |
SetPrinter |
changes settings for the default printer |
PrintDlg |
shows standard print dialog |
PageSetUpDlg |
shows standard page set up dialog |
RefreshDesktop |
refreshes the desktop icons |
EjectDisk |
ejects a disk |
File functions
|
|
FileAge |
returns the age of a file |
FileExists |
checks whether a file exists |
FolderExists |
checks whether a folder exists |
IsBundle |
checks if a file is a bundle |
CreateFolder |
creates a new folder |
DeleteFolder |
deletes an empty folder |
FolderSize |
returns the size of a folder |
RenameFile |
renames a file |
DeleteFile |
deletes a file |
DeleteXFiles |
deletes files with wildcard matching |
XDelete |
deletes files with wildcard matching, including sub-directories |
FileDate |
returns the date of a file |
FileDateEx |
returns the date of a file |
FileSize |
returns the size of a file |
FileAttributes |
returns the set attributes of a file |
SetFileAttributes |
sets the attributes of a file |
RecycleFile |
places a file in the Win95/NT recycle bin |
MoveOnReboot |
moves a file on system reboot |
CopyFile |
copies a file |
CopyXFiles |
copies multiple files with wildcard matching |
XCopy |
copies multiple files with wildcard matching including sub-directories |
CopyFileProgress |
copies a file with a progress bar |
CopyXFilesProgress |
copies multiple files with wildcard matching, with a progress bar |
CopyXFilesProgress |
copies multiple files with wildcard matching including sub-directories, with a progress bar |
FileVersion |
returns the version of a file |
FileList |
returns a list of files in a folder |
FolderList |
returns a list of folders inside another folder |
FindFirstFile |
searches drive for a file |
EncryptFile |
encrypts/decrypts a file |
FindDrive |
searches all drives for a specified file |
GetFilename |
displays a file selection dialog |
GetFolder |
displays a folder selection dialog |
GetDisk |
displays a disk selection dialog |
OpenFile |
opens a file using it's associated program |
Shell |
executes a file |
OpenURL |
opens a URL using the default browser |
PrintFile |
prints a file using it's associated program |
ShortFileName |
returns the short version of a file name |
LongFileName |
returns the long version of a file name |
ReturnUnixNames |
specifies to return file names in Unix format |
UnixName |
converts HFS file name to Unix format |
HfsName |
converts Unix file name to HFS format |
TempFileName |
returns a temporary file name guaranteed not to exist |
MakeShortcut |
creates a shortcut/alias |
MakeShortcutEx |
creates a shortcut |
ResolveShortcut |
returns the file a shortcut points to |
FileCreator |
returns the file creator type |
FilePermissions |
returns UNIX file permissions |
SetFilePermissions |
sets UNIX file permissions |
FileType |
returns the file type |
SetFileInfo |
sets the creator and type for a file |
Window functions
|
|
WindowInfo |
returns info (state, size, postion, title, class) of a window |
FindWindow |
finds a window with given title or class |
WindowList |
returns a list of all windows with given title or class |
ChildWindowList |
returns a list a window's child windows |
ActiveWindow |
returns the active window |
WaitForWindow |
waits until a specified window is in a specified state |
WaitTillActive |
waits until a specified window becomes the active one |
NextActiveWindow |
returns the next window to become active |
CloseWindow |
closes a window |
CloseApp |
closes the application owning a window |
WindowExists |
checks that a window handle is valid |
SetWindowState |
minimises, maximises, hides a window |
ActivateWindow |
activates the specified window |
SetWindowTitle |
set the caption of a window |
MoveWindow |
moves/resizes a window |
WindowToFront |
brings the window to the front |
WindowToBack |
sends the window to the back |
WindowDepth |
gets the z-order depth of a window |
SetWindowDepth |
sets the z-order depth of a window |
GetWindow |
finds a window related (child, parent, etc) to another window |
SetParent |
makes a window a child of another window |
ClipWindow |
removes edges from window |
WaitTillActive |
waits until a specified window becomes the active one |
SendKeys |
sends simulated key presses to the active window |
SendMsg |
sends a windows message to a window |
AddSysItems |
adds System menu, min and max boxes |
RemoveSysItems |
removes System menu, min and max boxes |
WinHandle |
returns the Director stage or Authorware presentation window |
StageHandle |
returns the Director stage window |
LITERATURA
Materijal koji nam je pomogao pri izradi naše aplikacije,
nalazi se na sledećim web stranicama:
http://dsp.etfbl.net/multimedia/
http://www.cxtra.net/
http://www.mods.com.au/budapi/
http://director-online.com/
http://www.starsoftmultimedia.com/
http://forums.creativecow.net
http://www.download.com/Adobe-Director-MX/
PROČITAJ
/ PREUZMI I DRUGE SEMINARSKE RADOVE IZ OBLASTI:
|
|
preuzmi
seminarski rad u wordu » » »
Besplatni
Seminarski Radovi
|