ASAudio gebruiken voor eenvoudige weergave van Flash-geluid

In deze korte tutorial zal ik u kennis laten maken met de ASAudio en AS3-bibliotheek die de hoeveelheid code die nodig is om een ​​geluidsobject in uw ActionScript-projecten te creëren en manipuleren aanzienlijk te verminderen..


Stap 1: ASAudio onderzoeken

ASAudio is een ActionScript 3-bibliotheek die de hoeveelheid code die nodig is voor het maken en manipuleren van (volumewijzigingen, pan) audiobestanden aanzienlijk beperkt 'binnen uw ActionScript-projecten. Normaal gesproken zou u het volgende moeten doen om het volume van een geluid in ActionScript in te laden, af te spelen en te wijzigen:

 var urlRequest: URLRequest = new URLRequest ("path / to / track.mp3"); var sound: Sound = new Sound (urlRequest); var soundChannel: SoundChannel = sound.play (); var soundTrans: SoundTransform = soundChannel.soundTransform; soundTrans.volume = .5; soundChannel.soundTransform = soundTrans;

Met ASAudio hoeft u alleen het volgende te doen

 var track: Track = new Track ("path / to / track.mp3"); track.start (); track.volume = .5;

Stap 2: De bibliotheek verkrijgen

Ga naar de Google Code-pagina van het project en download de nieuwste versie van ASAudio.

Als je het eenmaal hebt gedownload, pak je het uit en kopieer je de "com" -map in de map "src" naar de map waar je je ActionScript-project gaat maken..


Stap 3: Nieuw ActionScript-project

Start een nieuw ActionScript-project en sla het op in uw projectmap als "asAudio.fla". Stel in het paneel "PROPERTIES" de stadiumkleur in op wit en geef deze een breedte en hoogte van 500x150 px.

Maak nu een nieuw ActionScript-bestand en sla dit op als "Main.as". Stel dit in als uw documentklasse.


Stap 5: Import en Constructorfunctie

Voeg het volgende toe aan de "Main.as" die u in de bovenstaande stap hebt gemaakt.

 pakket import flash.display.Sprite; import com.neriksworkshop.lib.ASaudio. *; import flash.media.Sound; import flash.events.MouseEvent; import flash.events.Event; public class Main breidt openbare functie Main () trace ("Working") uit; 

Hier importeren we de lessen die we nodig hebben tijdens deze tutorial en stellen we onze Hoofd() bouwer.


Stap 6: Track

De spoor is de fundamentele klasse van ASAudio. Alles wat u met de bibliotheek doet, is afhankelijk van de spoor. In deze stap zullen we een nieuw maken spoor, en speel het. Voer de volgende code boven de Hoofd() binnen "Main.as".

 var track: Track = new Track ("BoozeandBlues.mp3");

En het volgende binnen de Hoofd() bouwer.

 openbare functie Main () track.start (); 

Om een ​​te maken spoor je passeert een pad naar de mp3. We noemen dan de begin() methode van de spoor binnen Hoofd().

Als je nu test, zou je de mp3 moeten horen spelen.


Stap 7: De interface instellen

In deze stap zullen we de interface voor het project instellen, zodat we onze controle kunnen houden spoor's.

Sleep in het Componentvenster 4 knoppen en een schuifregelaar naar het werkgebied. U kunt naar het venster Componenten gaan door Venster> Componenten te kiezen of door op CTRL + F7 te drukken.

Geef de knoppen de volgende eigenschappen, één voor één.

  • X: 21.00, Y: 61.00, Label: "Play TracK", Exemplaarnaam: "playTrackBtn"
  • X: 175,00, Y: 61,00, label: "Play Group", naam van instantie "playGroupBtn"
  • X: 333.00, Y: 61.00, Label: "Play Playlist", Exemplaarnaam "playListBtn"
  • X: 21.00, Y: 100.00, Label: "Stop Track", Exemplaarnaam "stopTrackBtn"

Hier is een screenshot van de setup van de eerste Button.

Geef de schuifregelaar de volgende eigenschappen.

  • X: 21.00, Y: 29.00, Exemplaarnaam: "trackSlider"
  • maximum: 1
  • miniumum: 0,1
  • snapInterval: 0.1
  • tickInterval: 0.1
  • waarde: 1
  • liveDragging: "Controleer of het is aangevinkt"

Hier stellen we enkele beginwaarden in voor de schuifregelaar. Ik zal ze niet bespreken, want u kunt verwijzen naar mijn Quick Tip die de functies van de schuifregelaar bedekt.


Stap 8: De track besturen

In deze stap coderen we de start-, stop- en volumefunctionaliteit voor de track die we in de vorige stap hebben gemaakt. Voeg het volgende toe aan "Main.as".

 public function Main () addListeners ();  private function addListeners (): void trackSlider.enabled = false; playTrackBtn.addEventListener (MouseEvent.CLICK, PlayTrack); stopTrackBtn.addEventListener (MouseEvent.CLICK, StopTrack); trackSlider.addEventListener (Event.CHANGE, adjustTrackVolume); 

Hier noemen we de addListeners () functie binnen onze Hoofd() constructeur. Binnen addListeners we zetten het uitschakelen van de trackSlider en voeg Luisteraars toe aan 3 van onze knoppen.


Stap 9: PlayTrack ()

De PlayTrack () functie vertelt het nummer om te beginnen met spelen. Voeg het volgende toe onder de addListeners () functie die u in de bovenstaande stap hebt gemaakt.

 private function playTrack (e: MouseEvent): void trackSlider.enabled = true; track.start (); track.volume = 1,0; 

Hier schakelen we de trackSlider speel de spoor de ... gebruiken begin() methode en stel het volume van de track in met behulp van de volume-eigenschap.


Stap 10: StopTrack ()

De StopTrack () functie zal worden gebruikt om de spoor. Voeg het volgende toe onder de PlayTrack () functie die u in de bovenstaande stap hebt toegevoegd.

 persoonlijke functie stopTrack (e: MouseEvent): void track.stop (); 

Hier noemen we eenvoudig de hou op() methode op de spoor.


Stap 11: adjustTrackVolume ()

De adjustTrackVolume () functie zal worden gebruikt om het volume van de spoor. Voeg het volgende toe onder de StopTrack () functie die u in de bovenstaande stap hebt gemaakt.

 privéfunctie adjustTrackVolume (e: Event): void track.volume = e.target.value; 

Hier stellen we het volume van de track gelijk aan de schuifregelaars waarde eigendom. Omdat we het maximum op 1 en het minimum op 0,1 hebben ingesteld, is dit altijd een getal tussen 0,1 en 1,0, verhoogd met tienden. d.w.z. 0.1, 0.4, enzovoort.

Als u de film nu test, kunt u het volume van de schijf afspelen, stoppen en aanpassen spoor.


Stap 12: Groepen

Je hebt je misschien afgevraagd waar de knop "Play Group" voor was? Nou, samen met het aanbieden van basis de basis spoor ASAudio heeft een notie van "Groepen" waarmee u geluiden samen kunt stapelen en ze tegelijkertijd kunt afspelen. Voeg het volgende toe binnen de addListeners () functie die u in de bovenstaande stap hebt gemaakt.

 private function addListeners (): void trackSlider.enabled = false; playTrackBtn.addEventListener (MouseEvent.CLICK, PlayTrack); stopTrackBtn.addEventListener (MouseEvent.CLICK, StopTrack); trackSlider.addEventListener (Event.CHANGE, adjustTrackVolume); playGroupBtn.addEventListener (MouseEvent.CLICK, playgroup); 

Hier voegen we een luisteraar toe aan onze playGroupBtn dat zal de Playgroup () functie. We zullen het volgende coderen.


Stap 13: Playgroup ()

Voeg het volgende toe onder de adjustTrackVolume () functie die je in de bovenstaande stap hebt gecreëerd.

 private function playGroup (e: Event): void var group: Group = new Group ([new Track ("piano.mp3"), new Track ("drumbeat.mp3")]); group.start (); 

Hier maken we een nieuwe Groep door een reeks tracks door te geven. We noemen dan de begin() methode die de Groep om te beginnen met spelen.

Als je nu test, zou je de "piano.mp3" en "drumbeat.mp3" simultaan moeten horen spelen.


Stap 14: Afspeellijst

Samen met het aanbieden van de Groep, ASAudio heeft een idee van a Afspeellijst. De Afspeellijst is als een afspeellijst op een MP3-speler. U "wachtrij" van liedjes en wanneer een klaar is, gaat het verder met de volgende. Voeg het volgende toe binnen de addListeners functie.

 privéfunctie playPlayList (e: Event): void var playList: Playlist = nieuwe afspeellijst ([nieuwe track ("piano.mp3"), nieuwe track ("drumbeat.mp3")]); playList.loop = false; playList.start (); 

Zoals de Groep we creëren een nieuw Afspeellijst door een array van nummers door te geven. We hebben de Afspeellijst niet lus en bel de begin() methode.

Je kunt het nu testen en zien Afspeellijst in actie.

Conclusie

U hebt ASAudio leren kennen en gezien hoe het de hoeveelheid code die nodig is om audio te maken in uw ActionScript-projecten aanzienlijk kan verminderen. Deze bibliotheek heeft meer te bieden, inclusief fade, pause en mute methodes ... Ik raad aan om de documentatie eens door te nemen om te zien wat er allemaal beschikbaar is. Ik hoop dat je dit nuttig en bedankt vond voor het lezen!