Adobe - Flash - platforma de control de volum de sunet și panning

Un SoundChannel individuale obiecta controlează atât sunet stereo, din stânga și din dreapta. În cazul în care MP3-fișier are un sunet monofonic, canalele stereo stânga și dreapta SoundChannel obiect va conține undele sonore identice.

Amplitudinea fiecărui sunet stereo pot fi găsite prin utilizarea proprietăților și a obiectului leftPeak rightPeak SoundChannel. Aceste proprietăți indică amplitudinea maximă a undei de sunet în sine. Ele nu reprezintă volumul de redare actuale. Volumul real de redare este o funcție a valorilor amplitudinii undei sunetului și volumul definit de clasa obiectului și SoundChannel SoundMixer.

Proprietatea obiect SoundChannel pan poate fi folosit pentru a seta diferite niveluri de volum pentru canalele din stânga și din dreapta în timpul redării. proprietate pan poate avea o valoare -1-1, în cazul în care o valoare de -1 este dat maxim lăsat volumul de canal, iar dreapta este dezactivat, iar atunci când este setat la 1, canalul dreapta este atribuit un volum maxim, iar stânga este dezactivat. Valorile numerice de la -1 la 1 sunt stabilite proporțional cu canalele stânga și dreapta, iar valoarea 0 indică faptul că ambele canale sunt echilibrate și au un volum mediu.

Codul următor creează SoundTransform volum obiect la 0,6 și panorama -1 (volumul maxim al canalului din stânga și canalul dreapta înăbușit). SoundTransform obiect a trecut ca parametru la jocul metoda (). care îl aplică noul obiect SoundChannel, care a fost creat pentru a controla redarea.

Volumul și panoramare sunetului poate fi modificată în timpul redării, setarea necesară valorile proprietăților pan sau volum obiect SoundTransform și apoi aplicarea acelui obiect ca și proprietățile obiectului soundTransform SoundChannel.

De asemenea, valorile de volum și pan globale pot fi setate pentru toate sunetele dintr-o dată folosind clasa SoundMixer proprietate soundTransform, la fel ca în exemplul următor.

Mai mult, SoundTransform obiect poate fi utilizat pentru a ajusta valorile volumului și pan pentru obiect microfon (a se vedea. Capture secțiunea de intrare a sunetului), precum și pentru obiectele și Sprite SimpleButton.

Următorul exemplu Sunetul panning trece de pe canalul stânga la dreapta și înapoi în timpul redării.

Acest cod încarcă primul fișier audio și apoi crearea unui nou obiect SoundTransform cu volumul 1 (volum maxim) și panoramare 0 (același volum al canalelor stânga și dreapta). Apoi solicită snd.play metoda (). care este transmis ca parametru SoundTransform obiect.

In timpul onEnterFrame reproducerea sunetului (), metoda este efectuată în mod repetat. onEnterFrame () metodă utilizează funcția Math.sin (). pentru a genera o valoare de la -1 la 1. Acest interval corespunde la valori acceptabile pentru proprietatea SoundTransform.pan. pan proprietate SoundTransform obiect la o valoare nouă, și obiect de proprietate, apoi a schimbat este atribuit un soundTransform canal.

Pentru a testa acest exemplu, înlocuiți bigSound.mp3 numele de fișier pe un nume de MP3-fișier local. Apoi rulați exemplul. Vei auzi canalul din stânga mai tare, mai liniștită și în dreapta și vice-versa.

În acest exemplu, același efect poate fi atins prin definirea SoundMixer soundTransform clasa de proprietate. Cu toate acestea, care ar afecta panoramare toate sunetele joacă în prezent, nu doar sunetul produs de acest SoundChannel obiect.