Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuţii   




Cartea de oaspeţi   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Ianuarie 2003
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB

Zgomote de fond sau cum se folosesc sunetele în Flash

Ioan Alexandru Lazăr

Vă mai amintiţi de paginile web de acum câţiva ani? Practic, nu era nici o problemă dacă opreaţi boxele în timp ce navigaţi pe internet. Ba, de fapt, puteaţi să le scoateţi din priză şi să le puneţi la naftalină.

Acum însă, totul s-a schimbat. Mai ales dacă folosiţi tehnologia flash pentru a vă realiza paginile web, sunetele au devenit o necesitate, astfel încât e o idee bună să mai puneţi un ,,pâs!" din pagină în pagină.

Cu toate acestea, sunetele în cazul flash reprezintă un lucru relativ complicat. Nu pentru că ar fi nevoie de cine ştie ce cunoştinţe muzicale, ci pentru că, oricât de rapide ar fi modemurile actuale, nu pot suporta un ,,streaming" constant de muzică la calitate CD. De aceea, înainte de a începe să inseraţi sunete peste sunete, e bine să vă gândiţi puţin.

Tipuri şi tipuri...
În flash există două tipuri de sunete. Acestea sunt "event-sound" (o să le numim sunete-eveniment) şi "streaming-sounds". Un sunet-eveniment trebuie să fie transferat complet înainte de a fi redat. Un "streaming-sound" este un sunet care va începe să fie redat imediat ce primele frame-uri au fost transferate, şi este sincronizat direct cu timeline-ul scenei. Un sunet-eveni- ment se sincronizează cu evenimentele din scenă. De exemplu, atunci când utilizatorul apasă pe un buton, un sunet-eveniment se poate declanşa. Practic, sunetele-eveniment sunt independente de film, ele putând fi controlate de acţiuni. În schimb, un "streaming-sound" este dependent de film, în sensul că este sincronizat cu animaţia. Atunci când cadrele nu pot fi afişate destul de repede ca să ţină pasul cu sunetele, sunt sărite pur şi simplu; un "streaming-sound" nu poate fi redat mai mult timp decât frame-urile pe care le ocupă.

ActionScript şi proprietăţi
Cine a lucrat în ActionScript în ultimul timp, ştie probabil că este vorba de un limbaj orientat spre multimedia. Într-adevăr, sunetele sunt tratate foarte atent în Action Script, dar am de gând să prezint numai câteva instrucţiuni.
Înainte de a trece însă la partea de programare adevărată, ar trebui să ne uităm la partea simplă a lucrurilor. Importarea unui sunet se face prin File>Import. Sunetului importat i se pot aplica o serie de efecte simple. Flash vine cu unele efecte predefinite, dar aceia care nu sunt mulţumiţi de ele pot să realizeze altele. Evident, nu trebuie să vă aşteptaţi la cine ştie ce efecte complicate, dar un web-designer va fi mai mult decât mulţumit cu cele existente.

Totuşi, unii doresc să folosească sunetele la lucruri mai complicate. Aşa că haideţi să ne uităm puţin la partea de programare. Apropo, cine citeşte acest articol şi nu foloseşte Flash MX ar trebui să facă rost de el. Există unele metode noi în Flash MX şi ar fi o idee bună să le aveţi la dispoziţie.
Pentru a putea folosi un sunet în ActionScript, se foloseşte obiectul ,,Sound". Acest obiect trebuie folosit dacă aveţi nevoie de un sunet (sunetul trebuie să se afle în library) care să fie apelat în timpul executiei unui program, dar nu chiar la început. Altfel, pentru un "streaming-sound" pe post de fundal muzical, puteţi să importaţi pur şi simplu sunetul. Pentru a creea o instanţă a acestui obiect, se foloseşte constructorul newSound.

Metoda mySound.attachSound - cu parametrul ("nume_id") - se foloseşte pentru a ataşa sunetul nume_id obiectului Sound. Nume_id se defineşte în caseta ,,Linkage" (pentru a o afişa se face click-dreapta pe numele sunetului din Library). Pentru a începe redarea sunetului se foloseşte metoda Sound.start.

Asupra sunetelor de tip streaming, se pot aplica metodele Sound.getSoundTotal, Sound.getBytesLoaded. Folosind aceste două metode, se pot determina numărul total de bytes al sunetului, respectiv numărul de bytes încărcaţi. Comparând rezultatele ,,întoarse" de metode, se poate afla numărul de procente în care sunetul a fost încărcat (reţineţi însă că este vorba de un sunet streaming).

Aş vrea să mai discutăm despre alte trei lucruri: Sound.onSoundComplete, Sound.position şi Sound.duration. Proprietatea Sound.duration defineşte durata sunetului, în milisecunde. Sound.position întoarce numărul de milisecunde de la începutul sunetului. Aceste două proprietăţi le sunt utile celor care dezvoltă ,,playere" pe web, adică playere care să funcţioneze online.

Event-ul (evenimentul) Sound.onSoundComplete este invocat automat atunci când redarea unui sunet a fost încheiată. Acest eveniment poate fi folosit pentru a declanşa alte evenimente într-un program, pe baza încheierii redării unui sunet. Se poate folosi şi evenimentul Sound.onLoad pentru a declanşa un alt eveniment, atunci când încărcarea sunetului a fost terminată (din nou funcţie utilă celor care realizează playere online).

Lucruri foarte-foarte mici
În fine, trebuie să discutăm despre comprimarea sunetelor înaintea exportului. Cine vrea să sară peste partea aceasta, o face pe riscul lui - pe web, sunetele se încarcă destul de greu.
Flash foloseşte mai multe modalităţi de compresie, pentru o serie de tipuri de sunete. Aceste modalităţi de compresie trebuie înţelese perfect pentru o aplicare corectă.

Pentru a modifica modul de compresie a unui sunet, faceţi click-dreapta pe sunetul din "library", şi alegeţi "properties". Modalităţile de compresie sunt: Default, ADPCM, MP3, RAW şi Speech. Default (implicit) comprimă sunetul folosind modalitatea de compresie definită în Publish Settings. ADPCM foloseşte o serie de formule matematice pentru a atinge rate de compresie de 4:1, reducând numărul de biţi necesari pentru redarea unui semnal. Spre exemplu, dacă aplicăm compresia ADPCM unui sunet pe 24 biţi, rezultatul va fi un sunet pe 8 biţi (soluţie cam radicală, dar excelentă). MP3 este folosit atunci când vreţi să exportaţi sunete streaming foarte lungi. De fapt, bănuiesc că sunteţi familiar cu compresia MP3. Este bine să dezactivaţi opţiunea ,,Use Imported MP3 Quality". RAW exportă sunetul la o anumită rată. Cea de 5 KHZ este cea mai mică, şi este total nerecomandată pentru că rezultatul este neinteligibil. 11 KHZ este cea mai mică rată acceptabilă, 22 KHZ cea mai răspândită pe web, iar 44 KHZ este calitatea CD. În fine, Speech reprezintă o modalitate de compresie special adaptată vorbirii.

Resurse
Evident, aici nu am intenţionat decât o prezentare generală. Pentru a afla mai multe, puteţi să aruncaţi o privire la:

www.flashkit.com - un sit cu mai multe tutoriale pe tema sunetelor.
www.macromedia.com - situl Macromedia, cei care au realizat Flash. Documentaţie extrem de cuprinzătoare.
www.actionscript.org - foarte multe tutoriale pentru avansaţi, unele legate de sunete.


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro