User Guide

298 Chapter 12: Working with External Media
In most cases, set the isStreaming parameter to true, especially if youre loading large sound
files that should start playing as soon as possible—for example, when creating an MP3 “jukebox
application. However, if youre downloading shorter sound clips and need to play them at a
specified time (for example, when a user clicks a button), set
isStreaming to false.
To determine when a sound has completely downloaded, use the
Sound.onLoad event handler.
This event handler automatically receives a Boolean (
true or false) value that indicates whether
the file downloaded successfully.
For example, suppose youre creating an online game that uses different sounds depending
on what level the user has reached in the game. The following code loads an MP3 file
(blastoff.mp3) into a Sound object named
gameSound, and then plays the sound when it has
completely downloaded:
var gameSound:Sound = new Sound();
gameSound.onLoad = function (loadedOK) {
if(loadedOK) {
gameSound.start();
}
}
gameSound.loadSound("http://server.com/sounds/blastoff.mp3", false);
For sound files, Flash Player supports only the MP3 sound file type.
For more information, see
Sound.loadSound(), Sound.start(), and Sound.onLoad in Flash
ActionScript Language Reference.
Reading ID3 tags in MP3 files
ID3 tags are data fields added to an MP3 file that contain information about the file, such as the
song name, album name, and artist name.
To read ID3 tags from an MP3 file, use the
Sound.id3 property, whose properties correspond to
the names of ID3 tags included in the MP3 file being loaded. To determine when ID3 tags for a
downloading MP3 file are available, use the
Sound.onID3 event handler. Flash Player 7 supports
version 1.0, 1.1, 2.3, and 2.4 tags; version 2.2 tags are not supported.
For example, the following code loads an MP3 file named favoriteSong.mp3 into the Sound
object named
song. When the ID3 tags for the file are available, a text field named display_txt
shows the artist name and song name.
var song:Sound = new Sound();
song.onID3 = function () {
display_txt.text = "Artist: " + song.id3.TPE1 + newline;
display_txt.text += "Song: " + song.id3.TIT2);
}
song.loadSound("mp3s/favoriteSong.mp3", true);
Because ID3 2.0 tags are located at the beginning of an MP3 file (before the sound data), they
are available as soon as the file starts downloading. ID3 1.0 tags, however, are located at the end
of the file (after the sound data), so they arent available until the entire MP3 file
finishes downloading.