This is a revised version of the last tutorial i wrote on this subject
-------------------------------------------------------------------------------------------------------------
[Kernel32 underground army ]
Black_Death
Email:da_stone_cold_killer@yahoo.com
Skill level : Advanced
-------------------------------------------------------------------------------------------------------------


Make your own MP3 player using Flash MX :
Version 2.0

Changes I have made:

a) Completely new way of handling file position

B) How to mute the sound using a global object

c) Stopping the file after completion



Introduction:

One of the best features of Flash MX is its ability to download mp3 files
directly into flash player, before the release of flash MX developers had
to import mp3 files into their projects and this made handling such files
very hard. But now with the loadSound() function you can easily load mp3s
and choose the method flash player downloads them.
There are basically two methods you can use to load your mp3s into flash
player:

1.event
2.streaming


According to the method you select flash MX gives you different options
for handling the file. Event sounds have to be downloaded before they
can be controlled, streaming sounds play while they are being loaded, so
flash player gives you full control over event sounds and less options for
handling streaming sounds.

When you load mp3s as event sounds you can use all commands for handling
sound objects that actionscript offers, on the other hand when you load mp3s
as streaming sounds you are only given the ability to stop, play or set
volume-pan of the music file .


How it is done:

First of all run flash MX and create an empty project. Choose your desired
document size and background color.

This mp3 player requires some buttons, you can make your own buttons or
Use the buttons flash stores in the common libraries.

We will organize our scripting by using functions for the most part
of the MP3 player.
All functions are placed in the first frame (main scene).

Functions:




play:




function playa() {
if (playing!=true) {
mysound=new Sound();
if (url!=null) {
mysound.loadSound(url+".mp3", false);
mysound.start((_root.pos)/1000,1);
if (mysound.duration!=0) {
playing=true;
}
} else {
}
}
}

Note: You can not use play as the function name, flash already has
A built in function with that name. In general avoid naming your
Functions with names that are already used by flash.

This function will simply load the mp3 file from the path (URL) you have
provided if the URL exists.

Note: you can use an input text box to get the URL from the user.

Note:_root.pos is a variable that stores the file position

If the URL value is null you can use the else command to force the
user into inputting a valid path or file name.



Stop:



function stopa() {
_root.pos=0;
mysound.stop();
playing=false;
}


The _root.pos=0 sets the pos value to zero so if the user calls the
playa function the file will be played from the beginning.



Pause:


function pause() {
if (playing) {
_root.pos=mysound.position;
mysound.stop();
playing=false;
}
}


This function pauses the sound and stores the position value in the
pos variable.(The pos value will be used when the user calls the
playa function, in this way when the music is played again it starts
from the position where it was stopped before)

Copy/paste all these functions to the first frame (on the main scene)
Of your project.


Forward/Rewind:

Create an empty movie clip and place the following scripts inside the
first frame of the movie.


if (_root.rw) {
if (_root.playing) {
pose = int((_root.mysound.position)/1000)-1;
_root.mySound.stop();
_root.mySound.start(pose, 1);
}
}


if (_root.fw) {
if (_root.playing) {
pose = int((_root.mysound.position)/1000)+1;
_root.mySound.stop();
_root.mySound.start(pose, 1);
}
}

Now select the next frame and convert it to a keyframe this will make a loop.

Mute:

Create a global sound object that can control the overall sound volume:

globalvolume = new Sound();

Place the above script in the first frame(main scene) we will use a button to
Control this object.
Buttons:


play/pause/stop:

Just use the buttons you made before to call these functions.

Example:

on (press) {
pause();
}

forward/rewind/mute:

Copy/paste the following scripts to the buttons you have made
before.


Forward:

on (press) {
fw = 1;
}
on (release, releaseOutside, rollOut, dragOut) {
fw = 0;
}

Rewind:

on (press) {
rw = 1;
}
on (release, releaseOutside, rollOut, dragOut) {
rw = 0;
}


Mute:

on (release) {
if (_root.globalvolume.getVolume()>0) {
_root.globalvolume.setVolume(0);
} else {
_root.globalvolume.setVolume(100);

}
}


Stopping the file after it has ended:

After the file has been played completely and it has ended you need to stop
the file, this gives the user the ability of playing the music file again.
If you don't stop the file after it has ended the user can not play it again.
To stop the file after it has completed use copy/paste the following to a looping
movie clip it is better if you use an empty movie clip.

_root.mysound.onSoundComplete = function() {
_root.stopa();
}

This loop(made using a clip loop) checkes if the file has reached EOF
or not if so it will use the stopa() function on the main scene to stop the file.
Stopping the file using stopa() repositions the file to zero(start).



Counters:

Add these to the first frame(main scene) of your movie:

playing=false;
var pos=0;

These will set the default values for playing and pos.

Volume&pan:

you can use any fader to control the volume-pan of your mp3.

Note: If you can not make a fader use the faders in the common
libraries of flash MX.
Commonlibraries>>buttons>>Knobs&faders>>fadergain


And that’s it you have made your own MP3 player and it works fine.
You can now use your knowledge of action script to make this player as
complicated or as simple as you want.


[Not for commercial use]
All the scripts used in this tutorial are free for non-commercial use.


-------------------------------------------------------------------------------------------------------------
Black_Death
sig:
90 84 11 42 33 53 33 18 22 70 11 48 58 97 58 3 66 65 11 42 57 97 39 7 94 21 11 58 47 40 39 7 68 83
97 66 48 43 35 46 9 89 71
-------------------------------------------------------------------------------------------------------------