O metoda eficienta de a controla redarea unui fisier audio in continutul Flash este utilizand ActionScript. De exemplu, pornirea si oprirea controlata, printr-un buton, a unui efect audio se poate realiza usor cu ActionScript, care are functii specifice pentru lucrul cu fisiere audio.
In acest tutorial este prezentat modul de a porni si opri un sunet prin apasarea unui buton, folosind ActionScript.
- Iata un exemplu in care se creaza un buton la apasarea caruia va fi pornit un sunet inclus in documentul Flash, iar la urmatorul click, pe acelasi buton, sunetul va fi oprit. Efectuati urmatorii pasi:
1. Deschideti un document Flash nou si desenati in Scena un oval (cu "Oval Tool"), apoi transformati-l in Buton (de la meniul Modify -> Convert to Symbol, iar la Type puneti Button si apasati OK). 2. In panoul Properties al instantei buton (al ovalului din Scena), in caseta de sus, unde e scris "<Instance Name>" dati click si scrieti bp (acesta va fi numele instantei buton folosit in codul ActionScript). 3. Acum se adauga un text pe zona butonului, acest text va fi schimbat la apasare pe buton (prin codul ActionScript), pentru a se cunoaste cand se schimba pentru "Play" si "Stop" sunet.
Alegeti instrumentul "Text Tool", in panoul Properties al textului schimbatii culoarea (sa fie diferita de cea a butonului).
- Pentru a putea fi modificat cu ActionScript, asigurati-va ca textul este cu optiunea Editable (in meniul din Properties, de sub "TLF Text", unde sunt optiunile: "Read Only", "Selectable" si "Editable").
Dati click in zona de sus-dreapta a butonului si tastati litera "P", apoi, in caseta din Properties a textului, unde este "<Instance Name>" scrieti numele txt. 4. Acum se adauga un sunet in documentul Flash. Pentru acest exemplu va fi folosit un audio din libraria cu sunete a programului Flash. Dar puteti importa orice fisier audio din calculatorul dv. .
Deschideti panoul Library, apoi, click pe meniul Window -> Common Libraries -> Sounds si din fereastra cu sunete care se deschide trageti cu mouse-ul unul din ele in Library (de ex. "Ambience Ocean Shore 01.mp3"). Inchideti fereastra cu sunete. 5. Apasati click-dreapta pe sunetul adaugat in Library si alegeti optiunea Properties.
In fereastra care se deschide apasati butonul Advanced (ca sa apara optiunile avansate, dar daca sunt deja deschise se trece la urmatorul pas). 6. Bifati butonul Export for ActionScript, iar la casuta din dreptul Class: scrieti s1 si apasati OK. Daca dupa asta apare o fereastra alert cu "OK" si "Cancel", apasati "OK". 7. Dati click-dreapta pe primul cadru in Timeline si alegeti Action, se va deschide o fereastra speciala pentru cod ActionScript.
Aici, dati click in zona din stanga unde se scrie codul si copiati urmatorul cod (cu "Ctrl+V" sau click-dreapta si Paste):
bp.addEventListener(MouseEvent.CLICK, playSound);
var fl_play:SoundChannel;
// Aceasta variabila retine daca sa se dea start sau stop la sunet
var fl_ToPlay:Boolean = true;
function playSound(event:MouseEvent):void
{
if(fl_ToPlay)
{
var s:Sound = new s1();
fl_play = s.play();
txt.text = "S"; // Schimba textul
}
else {
fl_play.stop();
txt.text = "P"; // Schimba textul
}
fl_ToPlay = !fl_ToPlay;
}
8. Dupa ce ati copiat acest cod, inchideti fereastra pentru ActionScript si testati continutul creat apasand "Ctrl+Enter". Se va deschide o prezentare Flash ca cea de mai jos. Apasati pe buton pentru a porni sunetul si inca o data cand doriti sa-l opriti.
- In prezentarea urmatoare puteti vedea cum se face acest exemplu.
- Tutorial - Audio cu ActionScript
- Fisierul FLA cu acest exemplu poate fi descarcat de la: Audio cu ActionScript.
Adaugarea /Importul fisierelor audio in continutul Flash creste semnificativ marimea fisierului SWF realizat pentru a fi inclus in pagini web. De aceea, adesea e de preferat ca prin Flash sa fie citit si redat un fisier audio extern, aflat pe server, mai ales cand e vorba de muzica MP3.
De exemplu, la prezentarea realizata mai sus, in loc ca prin apasarea butonului sa fie redat un sunet inclus direct in Flash, se poate ca acelasi buton sa redea muzica dintr-un fisier extern. Pentru aceasta trebuie doar modificat putin codul ActionScript de mai sus. Mai exact, la var s:Sound = new s1();, in loc de new s1(); va trebui scris codul: new Sound(new URLRequest("adresa_fisier_audio.mp3"));, unde, ""adresa_fisier_audio.mp3"" este adresa /calea fisierului MP3 de pe server, in raport cu fisierul SWF, astfel acea linie de cod va deveni: var s:Sound = new Sound(new URLRequest("adresa_fisier_audio.mp3"));
- Puteti incerca, repetand exemplu de mai sus, fara sa mai includeti vreun sunet in document, ci folositi un fisier MP3 de pe calculator, iar in codul ActionScript de la pasul 7, faceti modificarea indicata mai sus.