Redare AS3 sunete adobeflash

AS3: Redare sunete în AdobeFlash

Redarea sunetelor utilizând ActionScript 3.0 nu este o acțiune simplă, ni se pare, din moment ce este nevoie de a utiliza mai mult de o clasă, chiar și pentru sarcinile cele mai simple, cum ar fi suspendarea unei pauze sau a modifica volumul. Acest tutorial va acoperi elementele de bază pe care trebuie să știți pentru a începe redarea sunetelor locale și externe în Flash.

Tutorialul acoperă următoarele subiecte:

sunete clase în AdobeFlash

Sunete în ActionScript 3 sunt controlate prin colaborarea mai multor clase. Această structură complexă decât versiunea anterioară a ActionScript, dar susține că acest format oferă cel mai bun control și capacitatea de a micromanagement sunete. Clasele relevante de sunete:

  1. Clasa de sunet - este clasa principală, care va fi de fapt un sunet. Această clasă este punctul de pornire pentru orice audio asociat cu programul, și este utilizat pentru a porni redarea audio.
  2. SoundChannel clasa - sunetul poate fi redat prin canalul audio, care oferă un control suplimentar asupra obiectului de sunet, scopul principal al acestui management al - posibilitatea de a opri redarea audio.
  3. Clasa SoundTransform - această clasă este responsabil pentru modificarea volumului sonor și panoramare (de control al echilibrului între difuzoarele stânga și dreapta).
  4. Clasa SoundMixer - această clasă are control global asupra tuturor sunetelor în Flash player'e. Funcția sa principală - a opri toate sunetele de joc, indiferent de sursa.

Luați în considerare exemplele practice ale utilizării tuturor acestor clase de mai jos, cu excepția clasei SoundMixer. întrucât nu este necesar să se îndeplinească funcțiile de bază ale sunetelor, și în schimb controlează în mod colectiv toate sunetele în Flash. Citiți informațiile de pe link-ul pentru mai mult ajutor cu această clasă.

Redă fișiere de sunet intern

Flash este capabil să redea fișiere mp3 numai și nici un alt format. Redă MP3-fișier este o sarcină simplă, care poate fi realizată prin utilizarea de clasă de sunete. Clasa de sunet poate reda sunetele interne (fișiere MP3 importate în Fla-fișier) sau sunete externe (mp3-fișiere care sunt descărcate SWF în timpul rulării). Vom începe cu redare MP3-fișier intern importate în aplicația flash.

Pentru codul de la locul de muncă, aveți nevoie de un mp3-fișier pentru a juca. Puteți descărca în mod legal unele fișiere de sunet gratuite de pe acest site. Descărcați și salvați fișierul audio de pe computer.

De îndată ce ați terminat mp3-fișier, deschis Flash și de a crea un nou FLA-document în format AS3, și apoi du-te la File meniul principal -> Import -> Import la Biblioteca, localizați MP3-fișier și faceți clic pe «Deschidere».

Odată ce fișierul este importat, deschide biblioteca (Ctrl + L) și localizați fișierul audio. Hai să facem acest fișier la dispoziția ActionScript, editarea ei de proprietate Linkage, faceți clic dreapta pe un fișier audio, selectați Properties ..., pentru a deschide fereastra Properties. Verificați caseta de pe «Export pentru ActionScript» și de a schimba numele clasei în clasa pe MyFavSong. Faceți clic pe OK, va avea nevoie pentru a obține același mesaj care apare atunci când creați orice clasă din afara fișierului definiția de clasă. Doar faceți clic pe OK. pentru a continua. fișierul de sunet va fi exportat ca o clasă ActionScript numit MyFavSong.

Redare AS3 sunete adobeflash

Acum există un fișiere gata-mp3 sunt disponibile pentru ActionScript. Este timpul pentru a începe programarea în ActionScript. Faceți clic dreapta pe un cadru din Timeline, și selectați Acțiuni, pentru a deschide panoul Acțiuni.

Pentru a reda un sunet, trebuie să creați o nouă instanță a clasei de sunet, și apoi utilizați .play (clasa de sunet) metoda pentru a juca. Codul de mai jos este destul de clar:

Notă: .play () metoda din clasa de sunet este utilizat pentru redarea audio. În mod implicit, se redă sunetul de la început, dar poți începe să joci în orice altă poziție, specificând numărul de milisecunde (de exemplu: mySound.play (150)).

proba de testare (Ctrl + Enter), pentru a asculta redarea fișierului.

Redarea fișierelor de sunet externe

Redarea fișierelor de sunet extern pentru a efectua mult mai ușor decât redarea fișierului de sunet intern, deoarece nu au nevoie pentru a importa fișierul și de a crea o clasă bazată pe ea.

Puteți crea un document nou, FLA, salvați fișierul oriunde pe desktop, apoi pune mp3-fișierul în același dosar, redenumiți fișierul de sunet pe myFavSong.mp3.

Redare AS3 sunete adobeflash

Acum du-te înapoi la FLA-document, deschideți panoul Acțiuni pentru a crea codul. Doar a crea o nouă instanță a clasei de sunet generat. și apoi utilizați .load metoda () pentru a încărca un fișier extern. Acum vom folosi metoda .play (). pentru a reproduce sunetul.

Notă: .load () metoda din clasa de sunet este folosit pentru a încărca un mp3-fișier extern. URL-ul trebuie să fie specificată ca o instanță a clasei URLRequest. Consultați directorul ActionScript pentru mai multe informații despre clasa URLRequest.

proba de testare (Ctrl + Enter), pentru a auzi reproducerea sunetului.

Oprește sunetul

Pe lângă faptul că este capabil să joace un sunet, este evident că veți dori să știe cum să se oprească sunetul în timpul redării. Clasa de sunet nu are nicio metodă pentru a opri sunetul. Pentru această sarcină, utilizați clasa SoundChannel. SoundChannel - o clasă care este utilizat pentru a stoca sunetul brut al obiectului, și apoi să-l controleze folosind metodele și proprietățile clasei SoundChannel. Metodele și proprietățile, pe care trebuie să le știi:

  • .stop () - metoda se oprește sunetul produs prin canal.
  • .Poziția - această proprietate este folosită pentru a obține poziția curentă a sunetului reprodus prin canalul.
  • .soundTransform () - Această proprietate este folosită pentru a stabili și a obține o transformare a sunetului, cum ar fi volumul și panoramare.

Redare AS3 sunete adobeflash

Redare AS3 sunete adobeflash

Acum, face acest lucru prin apăsarea butonului oprește redarea audio. Faceți clic dreapta pe orice cadru din Timeline, și selectați Acțiuni, pentru a deschide panoul Acțiuni. Trebuie să aveți codul din exemplul anterior:

În primul rând, creați o nouă variabilă pentru a stoca noul canal SoundChannel instanță:

Avem nevoie de o instanță SoundChannel pentru a capta sunetul de la începutul piesei ea, astfel încât am putut să-l controleze prin intermediul acestui canal. Pentru a face acest lucru, înlocuiți linia de cod care indică reproducerea sunetului, un șir de caractere care este evidențiat mai jos:

Acum, canalul audio cuprinde un sunet care este reprodusă în acesta. Trebuie să vă înregistrați un ascultător eveniment pentru butonul care sa oprit sunetul canalului atunci când faceți clic pe ea folosind metoda .stop ().

Puteți rula exemplul și asculta sunetul în mod automat atunci când aplicația Flash este lansată atunci când faceți clic pe butonul de sunet trebuie să se oprească.

Desigur, dacă întrerupeți redarea unui sunet, nu există nici o modalitate de a reproduce sunetul, mai întâi cu codul. Cum de a face acest lucru în capitolul următor, cu exemplul creării butonul de pauză.

Pauză Pauză audio

ActionScript nu prevede .pause metodă. posibilitatea de a întrerupe sunetul și redați-o într-o anumită poziție necesită o extracție audio înainte de a fi oprit, și apoi se joace cu aceeași poziție. Am vorbit despre SoundChannel proprietate .posistion de clasă. precum și posibilitatea de redare audio dintr-o anumită poziție, folosind metoda .play (). Noi le folosim împreună.

Începeți prin adăugarea unui buton nou pe scenă. Du-te la componentele panoului (componentele panoului), și apoi se adaugă un buton de pe scenă, setați play_btn nume de instanță și de a schimba eticheta de pe Play. Actualizați eticheta butonului anterior, astfel încât a fost numit «Pauză» în loc de «Oprire». precum și schimba numele instanței de pe pause_btn stop_btn.

Redare AS3 sunete adobeflash

Acum, înapoi la ActionScript. Primul lucru de făcut este elimina toate codul legate de stop_btn. Eliminați codul care este evidențiat mai jos.

Pentru butonul de pauză a câștigat aveți nevoie pentru a crea o variabilă pentru a menține poziția anterioară a fișierului de sunet. Puteți crea cu ușurință această variabilă și setați-l la „0“ ca valoare inițială se numește lastPosition variabilă:

Acum setați butonul Pauză, se obține valoarea atunci când este apăsat și opriți imediat redarea după aceea. Vom folosi de tratare a evenimentelor este similar cu cel care a fost folosit pentru a opri redarea audio.

Acum, să ne facă astfel încât buton redă fișierul audio de la ultima poziție. Ar trebui să fie conștienți de faptul că .play () metoda este un exemplu de sunet și ar trebui să fie reintrodusă în SoundChannel:

Check out un exemplu (Ctrl + Enter) cu butoane de pauză și de sunet.

Modificarea volumului sonor

În acest subiect, lecția ne vom uita la modul de a schimba volumul canalului audio SoundChannel. Pentru a face acest lucru, accesați clasa SoundTransform și .soundTransform proprietate clasa SoundChannel.

Clasa SoundTransform are proprietăți diferite, dintre care cele mai importante .volume de proprietate. Folosind clasa SoundTransdorm este destul de simplu, tot ce ai nevoie este de a crea o instanță a clasei, configurați proprietățile sale, și apoi setați-l ca valoarea proprietății .soundTransform țintă canal audio SoundChannel.

Acum vom face. Începeți prin crearea unei noi instanță a clasei SoundTransform:

Acum să setați valoarea pentru proprietatea .volume acest caz. Proprietatea volumului (loudness) poate fi orice valoare în virgulă mobilă între 0 și 1, unde 1 înseamnă rata volum maxim și 0 - volumul dezactivare. Stabilește volumul mediu folosind 0,5 ca valoare:

Acum am stabilit schimbarea ca proprietățile canalului audio SoundChannel .soundTransform:

Nu trebuie să uităm că trebuie să instalați .soundTransform proprietate după punerea în aplicare a obiectului audio în canalul audio, dar nu înainte de aceasta. Executați proba pentru a auzi un volum mai mic. Cu toate acestea, veți observa că atunci când faceți clic pe pauză, și apoi în timpul redării, sunetul va fi din nou ridicat. Acest lucru se întâmplă pentru că atunci când pune în aplicare un sunet nou în canal, toate de conversie audio șterse. Puteți rezolva această problemă prin setarea .soundTransform proprietate din nou în termen de tratare a evenimentului onClickPlay după cum urmează:

Executați aplicația Flash din nou, pentru a verifica modul în care sunetul și volumul atunci când apăsați butonul de pauză.

Mesaj de navigare