First time here? First time here? Newsletter Signup Newsletter
Search tutorials
Author: Inn Chan

The Track

This part of the tutorial is the shortest and the easiest amongst the rest.
In your working directory, goto the track directory that you created at the beginning of last section. Create a track.fla flash movie in the directory, you may have to remove the track.fla when you finish or you don't even need to creat the .fla file in this directory, it doesn't matter which ever way you do, just remember to put all the finished track.swf files in the appropriate track# directory. At the end of the tutorial, your swf dirctory will look something like the following:

Below is the setup of the track.fla. The first thing to do here is to import the sound file, and go to the linkage property of the sound in the library, then select Export for ActionScript and give it a name as follows:

The first three frame is a loader, the forth frame is treated as a ready to play state, frame five plays the track and frame six stops it. The first frame contains the following frame action:
The data.txt contains two variables, "sdata" and "loadstatus", where "sdata" is the spectrum data and "loadstatus" is used to tell the flash movie the txt file has been successfully loaded. Next go to the third frame and put in the following frame action:

    if (this.loadstatus == "1") {
        this.soundChannel = new Sound(this);
        this.soundChannel.attachSound("the name you gave for the sound in linkage property");

        var dataArray = sdata.split(",");

        var Row;
        var datalength = dataArray.length;
        for (i=0; i<%lt%>datalength/10; i++) {
            Row += 1;
            this["data" add String(Row)] = new Array(10);
            this["data" add String(Row)] = this.dataArray.slice(i*10, i*10+10);
        delete dataArray;
        this.totalRow = Row;
        this.interval = this.soundChannel.duration/totalRow;
    } else {
If the data.txt is successfully loaded, the variable sdata will be converted into an array in which one element represents one data entry, the length of that array is then copied to a local variable for later use, The array is then chopped up into smaller arrays with the array function array.slice, each array now contains ten elements. The old array is then deleted, and the total number of "rows" is recorded to be used to calculate the interval.

The fifth frame contains the frame script that plays the sound:
And the final frame contains the following frame script:
create one track.swf for each track and put it in the appropriate directory.

Notice if you "test movie" when you are working with the .fla, it will give you the "error opening url" message, even if you have the data.txt in place, you must run from the spectrumAnalyzer.swf to see it work.
» Level Intermediate

Added: 2002-08-28
Rating: 8.76 Votes: 33
» Author
Multimedia Student eager to combine artistic skills, creativity and practical knowledge to innovate new concepts in interactive media
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!
Featured Flash FLA
» Author: Inocreato
» Title: RaiseTheBlocks
» Description: Raise all the blocks to win the game
Featured Sound Loops
Image for equalize

Audio Player

» Author: TomCat Carty
» Title: The Wood
» Description: Just a little game ending or it can maybe be looped. Recorders with music box and percussion to give the feel of well, I don't know, the woods? Free to use, just credit me. thank you
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: Davisigner
» Description: Hmm... what to say about this one? It's reminiscent of the closing notes of the opening music from the Three Stooges done in a church organ style with a closing cymbal crash. I'll give this one away gratis, but feel free to check out my free loops and potential upcoming license-mandated ones over in the respective part of Flashkit.