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.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro