Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Loading sounds from external files

From: Flash CS3 Professional Beyond the Basics

Video: Loading sounds from external files

Now we'll take a look at working with our SoundLoader class to start making the songs load into our Mp3 Player. If you're following along I'm working in 06_Sound_Loader.fla, in the 06 folder, in the Chapter 9 folder, in the Exercise Files folder. We'll start off by connecting this file to our classes so just click the Publish Settings button at the bottom of the Property Inspector, in the Flash tab of the Publish Settings window, click the Settings button by ActionScript version, select the current class path, click the Remove Selected Path button, click the Browse to Path button, find the 06 folder inside of the Chapter 9 folder, choose the Start folder, inside of that folder, and the Classes folder, inside of that folder and then click Choose, click OK and click OK to close the Publish Settings window.

Loading sounds from external files

Now we'll take a look at working with our SoundLoader class to start making the songs load into our Mp3 Player. If you're following along I'm working in 06_Sound_Loader.fla, in the 06 folder, in the Chapter 9 folder, in the Exercise Files folder. We'll start off by connecting this file to our classes so just click the Publish Settings button at the bottom of the Property Inspector, in the Flash tab of the Publish Settings window, click the Settings button by ActionScript version, select the current class path, click the Remove Selected Path button, click the Browse to Path button, find the 06 folder inside of the Chapter 9 folder, choose the Start folder, inside of that folder, and the Classes folder, inside of that folder and then click Choose, click OK and click OK to close the Publish Settings window.

Good times. All right, now let's start working with our Sound Loader class. Choose File, Open and we'll navigate into the Chapter 9 folder, in the 06 folder, Start folder and then Classes, com, lynda, audio, mp3 and we're going to be working with two classes in this exercise, we'll select Mp3Player.as then I'm holding Cmd on my keyboard and that's Ctrl on the PC. I'm going to select the SoundLoader.as file and then I'll click Open to open both of those files.

First let's go to Mp3Player.as. Scroll down all the way to the bottom of the code and below the last line of code that you wrote in the last movie, we're going to create a new instance of the SoundLoader class. If you remember from the last movie, the name of the SoundLoader object was SoundLoader. So below the last code that you wrote type soundLoader, capital L, equals new SoundLoader, so we'll set it equal to a new instance of the SoundLoader class and we're going to pass in two values.

The first value we're going to pass in is our songs array. The next thing we'll pass in is this instance of Mp3Player, so we'll type this. The songs variable represents the paths to all our songs, and we'll need that in order to load the songs. This represents the Mp3 Player object. That way we will be able to comunicate to our MP3 Player from our SoundLoader and as well as from other classes which we'll talk about a little more later on. Once you've written in that line of code, choose File, Save, to save the file and then go over to the SoundLoader.as file.

The first thing we'll do in this file is set up some variables that we're going to be working with. Above the constructor function, I'm on line 11 in my code, I'm going to create some private variables. So create a private variable, we'll call this songList and this is going to represent all of our songs. So it's going to be an Array data type. On the next line, create another private variable called soundReq with the capital R and this is going to represent the URLRequest for the files we are going to load.

On the next line we'll create another private variable and this one is going to be called loader and this is the sound object that will load all of our sounds, so the data type is going to be Sound and we'll set that right here equal to a new instance of the Sound class. As you may know from working with sound that you need a Sound Channel object to control a sound so we'll create a private variable, and we'll call this song and the data type will be SoundChannel.

Lets create another private variable called songIndex, capital I, and this is going to be an integer with an initial value of zero. This will represent the current song, or the current index of our songs array or in this class, the songList Aarray. On the next line, create another private variable called musicPlayer, capital P. This is going to represent the Mp3Player object.

So the data type will be MP3, capital M, then Player with a capital P. Now, when we created an instance of the SoundLoader class in our Mp3Player file, we passed in two values. First our array of songs and then second we passed in the value this representing the instance of the Mp3Player class. So I need to receive those two values inside of our SoundLoader constructor function. So now I'm working in line 18. That's in my code, it may be differing yours, so inside the parentheses put your cursor and type songs and the data type will be Array, so we'll receive that songs array from the Mp3Player instance and we're also going to receive the Mp3Player. So we're going to type player, and the data type is going to be an Mp3Player. Now we'll connect some of the variables that we've created to the objects passed in when an instance of the SoundLoader class is created. So put your cursor in between the curly braces for the SoundLoader function, I'm working on line 20 in my code, and then type songList = songs.

On the next line type musicPlayer = player. So now we've connected our variables inside of our class file to the values passed in when the instance of the SoundLoader class is created. So now this file or this class knows the songs that are passed in when an instance of the Mp3Player class is created. That information from the songs array all the way from our FLA file goes into the Mp3Player file and then into the SoundLoader file, and now we can work with it in here.

On the next line we'll give a value to our SoundRequest variable. Type soundReq with a capital R, and we'll set that equal to a new URLRequest and in the parentheses we'll pass in songList, remember that's our array of songs, and then in square brackets after songList the index of the song that we're going to pass in it's going to be songIndex, which currently is zero.

On the next line of code, we'll make our loader object, which is an instance of the sound class, load the soundRequest file. So type loader.load and we'll pass in soundReq with capital R. So our sound object will load the first song, which if you remember from our FLA file I'm just going to quickly show the ActionScript, is songs navigating to the Songs folder and a song called chad.mp3.

Back in the SoundLoader file, on the next line we'll add an event listener to our Sound object. We'll have it listen for the complete event, once the sound file is finished loading. So type Event.COMPLETE, all caps, and we'll run a function called songLoaded, which we'll define right now. So right below the constructor function, let's create a new private function called songLoaded and it will receive an event with the data type of Event and in curly braces we'll make our song play. So type song, that's our soundChannel object, equals loader.play and make sure to put the parentheses after play.

Now if we've typed everything correctly the sound should play when we test the movie. So let's go to File, Save to save our ActionScript file and then we'll test the movie directly from here using Cmd+Return on the Mac or Ctrl+Enter on the PC. (Music plays.) And the sound plays just fine. Great. Now since we don't want to hear that sound blaring every single time we test the movie let's just make our sound stop right off the bat. So on the next line of code, type song.stop.

We'll control the sound later on when we work with our buttons. Now you may be wandering why we're making the song play and then the song stop right after. well, what happens is, when we make the song play we're actually setting a value to our song object which is actually an instance of the SoundChannel class. By giving our sound a value, even though we're giving it a value and stopping it immediately, we can control the sound while it's stopped. So before you close this file, make sure you choose File, Save to save the file.

So there's a look at loading sounds into Flash which could potentially be familiar to you already. So now that we've loaded our songs into our Mp3Player we can access the ID3 tags inside of those files. We'll take a look of how to do that, next.

Show transcript

This video is part of

Image for Flash CS3 Professional Beyond the Basics
Flash CS3 Professional Beyond the Basics

79 video lessons · 25609 viewers

Todd Perkins
Author

 
Expand all | Collapse all
  1. 3m 30s
    1. Welcome
      1m 20s
    2. Getting the most from this training
      1m 20s
    3. Using the exercise files
      50s
  2. 15m 28s
    1. Managing digital assets
      4m 9s
    2. Creating custom keyboard shortcuts
      5m 1s
    3. Creating custom color swatches
      3m 41s
    4. Creating a custom template
      2m 37s
  3. 14m 38s
    1. Working with variables
      3m 41s
    2. Using functions
      3m 30s
    3. Working with events
      2m 11s
    4. Using event listeners
      2m 42s
    5. Working with arrays
      2m 34s
  4. 29m 41s
    1. Understanding dynamic text fields
      2m 37s
    2. Loading text from an external file
      6m 42s
    3. Reading HTML from a text field
      5m 29s
    4. Applying CSS with ActionScript
      7m 0s
    5. Applying external CSS to a text field
      7m 53s
  5. 45m 27s
    1. Masking dynamic text
      4m 59s
    2. Dragging the Scroll Bar
      7m 3s
    3. Calculating a scroll percent
      5m 20s
    4. Setting scroll boundaries
      4m 9s
    5. Connecting the ScrollBar to the text field
      2m 55s
    6. Easing the text with the ScrollBar
      4m 12s
    7. Scrolling the text with buttons
      2m 38s
    8. Animating the scrolling text with the buttons
      4m 26s
    9. Setting boundaries for the scrolling text
      4m 26s
    10. Easing the text using the buttons
      1m 37s
    11. Connecting the ScrollBar to the Scroll buttons
      3m 42s
  6. 20m 46s
    1. Organizing a complex object into layers
      1m 51s
    2. Duplicating MovieClips
      1m 29s
    3. Undocking the timeline
      1m 20s
    4. Animating a complex MovieClip
      4m 36s
    5. Creating an animated Hinge effect
      5m 13s
    6. Creating complex animations
      6m 17s
  7. 28m 1s
    1. Controlling objects with buttons
      4m 6s
    2. Understanding frame labels
      3m 25s
    3. Using buttons to navigate labeled frames
      2m 30s
    4. Nesting code within MovieClips
      5m 8s
    5. Adding sound to the application
      2m 34s
    6. Adding drag interactivity to the robot
      6m 1s
    7. Animating the dragged robot
      4m 17s
  8. 20m 3s
    1. Understanding components
      2m 30s
    2. Using components to setup a form
      3m 45s
    3. Setting up the form to send an email
      3m 38s
    4. Working with form variables
      6m 11s
    5. Skinning components
      3m 59s
  9. 27m 40s
    1. Using transparency in a video
      4m 16s
    2. Working with embedded video
      3m 38s
    3. Animating a VideoClip
      2m 53s
    4. Creating an advanced animation with video
      2m 40s
    5. Working with the bitmap data class
      3m 37s
    6. Working with the bitmap class
      1m 40s
    7. Copying the video to create a reflection
      1m 35s
    8. Reflecting the video
      2m 42s
    9. Enhancing a video reflection with a mask
      4m 39s
  10. 1h 38m
    1. Viewing the finished MP3 player
      1m 45s
    2. Understanding the project flow
      2m 52s
    3. Preparing to build the MP3 player
      5m 11s
    4. Understanding classes and packages
      5m 32s
    5. Creating the MP3 player class
      9m 59s
    6. Loading sounds from external files
      9m 20s
    7. Accessing ID3 tag information
      6m 11s
    8. Controlling sound playback with Play and Pause buttons
      11m 3s
    9. Changing tracks
      12m 1s
    10. Displaying the current volume
      9m 33s
    11. Changing the volume
      6m 40s
    12. Wiring the progress bar
      8m 4s
    13. Building the progress bar slider
      10m 4s
  11. 5m 36s
    1. Making Flash movies accessible
      1m 49s
    2. Adding a name and description to your Flash movie
      52s
    3. Accessibility and text fields
      2m 55s
  12. 12m 2s
    1. Understanding Flash Mobile
      35s
    2. Exploring Device Central
      1m 45s
    3. Updating Device Profiles
      1m 7s
    4. Creating a Flash file from Device Central
      2m 7s
    5. Creating and testing Flash Lite applications
      2m 48s
    6. Downloading the Flash Lite player for Windows Mobile
      1m 44s
    7. Getting a Flash Lite application onto your phone
      1m 56s
  13. 27s
    1. Goodbye
      27s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Flash CS3 Professional Beyond the Basics.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.