Hot File

How to Using ASAudio for Easy Flash Sound Playback

View: 285    Dowload: 0   Comment: 0   Post by: hanhga  
Author: none   Category: Flash template, Flash game   Fields: Other

9 point/3 review File has been tested

In this short tutorial I will introduce you to ASAudio, and AS3 library that greatly reduces the amount of code needed to create and manipulate sound object in your ActionScript projects.

Introduction

In this short tutorial I will introduce you to ASAudio, and AS3 library that greatly reduces the amount of code needed to create and manipulate sound object in your ActionScript projects.

ASAudio is an ActionScript 3 library that greatly reduces the amount of code needed to create and manipulate (volume changes, pan) audio files' within your ActionScript Projects. Traditionally you would need to do the following to load in, play, and change the volume of a Sound within ActionScript:

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;

With ASAudio all you need to do is the following

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

Head over to the project's Google Code page and download the latest version of ASAudio.

Once you have downloaded it, extract it and copy the the "com" folder that is inside the "src" folder to the folder where you will be creating your ActionScript project.

Start a new ActionScript project, and save it in your project folder as "asAudio.fla". Under the "PROPERTIES" panel, set the stage color to white and give it a width and height of 500x150px.

Now create a new ActionScript File and save this as "Main.as". Set this as yourDocument Class.

Add the following to the "Main.as" you created in the step above

package  {
    import flash.display.Sprite;
    import com.neriksworkshop.lib.ASaudio.*;
    import flash.media.Sound;
    import flash.events.MouseEvent;
    import flash.events.Event;
 
    public class Main extends Sprite {
 
        public function Main() {
            trace("Working");
        }
       
    }
     
}

Here we import the classes we will need throughout this tutorial, and setup ourMain() constructor.

Step 6: Track

The Track is the fundamental class of ASAudio. Everything you do with the library depends on the Track. In this step we will create a new Track, and play it. Enter the following code above the Main() within "Main.as".

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

And the following within the Main() constructor.

public function Main() {
    track.start();
}

To create a Track you pass in a path to the mp3. We then call the start() method of the Track within Main().

If you test now you should hear the mp3 play.

Step 7: Setting up the Interface

In this step we will setup the interface for the project so we can control our Track's.

From the Component Window drag 4 buttons and a slider onto the Stage. You can get to the Components Window by choosing Window > Components or by pressing CTRL+F7.

Give the buttons the following properties, one by one.

  • X: 21.00 , Y:61.00, Label:"Play TracK", Instance Name:"playTrackBtn"
  • X: 175.00, Y:61.00, Label:"Play Group", Instance Name"playGroupBtn"
  • X: 333.00, Y:61.00, Label:"Play Playlist", Instance Name"playListBtn"
  • X: 21.00, Y:100.00, Label:"Stop Track", Instance Name"stopTrackBtn"

Here is a screenshot of the first Button's setup.

Give the slider the following properties.

  • X: 21.00, Y:29.00, Instance Name:"trackSlider"
  • maximum: 1
  • miniumum: 0.1
  • snapInterval: 0.1
  • tickInterval: 0.1
  • value: 1
  • liveDragging: "Make sure it is checked"

Here we set some initial values for the slider. I won't go over them as you can refer to my Quick Tip that covers the sliders functionality.

In this step we will code the start, stop, and volume functionality for the track we created in the previous step. Add the following to "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);
   
}

Here we call the addListeners() function within our Main() constructor. InsideaddListeners we set the disable the trackSlider and add Listeners to 3 of our buttons.

The playTrack() function will tell the track to start playing. Add the following beneath the addListeners() function you created in the step above

private function playTrack(e:MouseEvent):void{
   trackSlider.enabled = true;
   track.start();
   track.volume = 1.0;
}

Here we enable the trackSlider play the Track using the start() method and set the volume of the track using the volume property.

The stopTrack() function will be used to stop the Track. Add the following beneath the playTrack() function you added in the step above.

private function stopTrack(e:MouseEvent):void{
    track.stop();
}

Here we simply call the stop() method on the Track.

The adjustTrackVolume() function will be used to adjust the volume of the Track. Add the following beneath the stopTrack() function you created in the step above.

private function adjustTrackVolume(e:Event):void{
   track.volume = e.target.value;
}

Here we set the volume of the track equal the the sliders value property. Because we set the maximum to 1 and the minimum to 0.1 it will always be a number between 0.1 and 1.0 incremented by 10ths. i.e 0.1, 0.4, and so on.

If you test the movie now you should be able to play, stop, and adjust the volume of the Track.

You may have been wondering what the "Play Group" button was for? Well, along with offering basic the basic Track ASAudio has a notion of "Groups" which allows you to stack sounds together and play them together all at once. Add the following within the addListeners() function you created in the step above.

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);     
}

Here we add a Listener to our playGroupBtn that will call the playGroup() function. We will code this next.

Add the following beneath the adjustTrackVolume() function you creafted in the step above.

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

Here we create a new Group by passing in an Array of tracks. We then call thestart() method which tells the Group to start playing.

If you test now you should hear the "piano.mp3" and "drumbeat.mp3" playing simutaneously.

private function playPlayList(e:Event):void{
   var playList:Playlist = new Playlist( [new Track("piano.mp3"), new Track("drumbeat.mp3")] );
   playList.loop = false;
   playList.start();
}

Like the Group we create a new PlayList by passing in an Array of Tracks. We set the PlayList to not loop and call the start() method.

You can now test and see the PlayList in action.

How to Using ASAudio for Easy Flash Sound Playback

How to Using ASAudio for Easy Flash Sound Playback Posted on 14-01-2016  In this short tutorial I will introduce you to ASAudio, and AS3 library that greatly reduces the amount of code needed to create and manipulate sound object in your ActionScript projects. 3/10 285

Comment:

To comment you must be logged in members.

Files with category

 
Newsletter Email

File suggestion for you

File top downloads

logo codetitle
Codetitle.com - library source code to share, download the file to the community
Copyright © 2015. All rights reserved. codetitle.com Develope by Vinagon .Ltd