# Displaying Duration and Position

**URL:** <https://forum.kirupa.com/t/displaying-duration-and-position/185600>\
**Category:** flash\
**Created:** [April 14, 2006, 3:39pm UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600 "2006-04-14T15:39:32Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pixelangry](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@Pixelangry](https://forum.kirupa.com/u/Pixelangry)\
**Post date:** [April 14, 2006, 3:39pm UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/1 "2006-04-14T15:39:32Z")

</div>

[SIZE=1]Im trying to make a flash music player, and im having trouble displaying the length of the track and the time played.[/SIZE]

[SIZE=1]Here is the actionscript used, all it does is give me undefined/undefined. Im using flash mx 2004 pro. Any help would be appreciated.[/SIZE]

[FONT=Helvetica]

```auto
 
[FONT=Helvetica]this.onEnterFrame = function ()[/FONT]
[FONT=Helvetica]{[/FONT]
[FONT=Helvetica] dur = int([COLOR=#ff1500]My_Sound[/COLOR].duration / 1000);[/FONT]
[FONT=Helvetica] pos = int([COLOR=#ff1500]My_Sound[/COLOR].position / 1000);[/FONT]
 
[FONT=Helvetica] playTime = {};[/FONT]
[FONT=Helvetica] playTime.minutes = int(pos / 60);[/FONT]
[FONT=Helvetica] playTime.seconds = int(pos % 60);[/FONT]
[FONT=Helvetica] playTime.total = checkDigits(playTime.minutes) + ":" + checkDigits(playTime.seconds);[/FONT]
 
[FONT=Helvetica] trackTime = {};[/FONT]
[FONT=Helvetica] trackTime.minutes = int(dur / 60);[/FONT]
[FONT=Helvetica] trackTime.seconds = int(dur % 60);[/FONT]
[FONT=Helvetica] trackTime.total = checkDigits(trackTime.minutes) + ":" + checkDigits(trackTime.seconds);[/FONT]
 
[FONT=Helvetica] if (timetext.text == undefined){[/FONT]
[FONT=Helvetica] timetext.text = playTime.total + " / " + trackTime.total[/FONT]
[FONT=Helvetica] }[/FONT]
[FONT=Helvetica] else[/FONT]
[FONT=Helvetica] {[/FONT]
[FONT=Helvetica] timetext.text = playTime.total + " / " + trackTime.total;[/FONT]
[FONT=Helvetica] }[/FONT]
[FONT=Helvetica]};[/FONT]

```

[/FONT]

---

<div class="post-metadata">

**Author:** ![Pixelangry](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@Pixelangry](https://forum.kirupa.com/u/Pixelangry)\
**Post date:** [April 16, 2006, 2:34am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/2 "2006-04-16T02:34:33Z")

</div>

Anyone?

---

<div class="post-metadata">

**Author:** ![cobrasniper555](https://avatars.discourse-cdn.com/v4/letter/c/838e76/32.png) [@cobrasniper555](https://forum.kirupa.com/u/cobrasniper555)\
**Post date:** [April 16, 2006, 2:45am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/3 "2006-04-16T02:45:43Z")

</div>

I don’t know…I can help you make a simplier one…you want an audio player, right? In flash?

---

<div class="post-metadata">

**Author:** ![nathan99](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@nathan99](https://forum.kirupa.com/u/nathan99)\
**Post date:** [April 16, 2006, 7:40am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/4 "2006-04-16T07:40:42Z")

</div>

…you may want to set up your sound object first

```auto

var My_Sound:Sound = new Sound();
My_Sound.loadSound("soundToLoad");
My_Sound.start(0);

```

---

<div class="post-metadata">

**Author:** ![Pixelangry](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@Pixelangry](https://forum.kirupa.com/u/Pixelangry)\
**Post date:** [April 16, 2006, 7:59am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/5 "2006-04-16T07:59:02Z")

</div>

```auto
var my_sound:Sound = new Sound();
my_sound.loadSound("my_sound.mp3");
my_sound.start(0)
   	dur = int(My_Sound.duration / 1000);
   	pos = int(My_Sound.position / 1000);

   playTime = {};
   playTime.minutes = int(pos / 60);
   playTime.seconds = int(pos % 60);
   playTime.total = checkDigits(playTime.minutes) + ":" + checkDigits(playTime.seconds);

   trackTime = {};
   trackTime.minutes = int(dur / 60);
   trackTime.seconds = int(dur % 60);
   trackTime.total = checkDigits(trackTime.minutes) + ":" + checkDigits(trackTime.seconds);

       timetext.text = playTime.total + " / " + trackTime.total
   }

```

still doesnt work, no output messages or anything, just says undefined and nothing plays. file is in directory and everything.

---

<div class="post-metadata">

**Author:** ![nathan99](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@nathan99](https://forum.kirupa.com/u/nathan99)\
**Post date:** [April 16, 2006, 8:57am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/6 "2006-04-16T08:57:40Z")

</div>

my\_sound.loadSound("./my\_sound.mp3");

?

---

<div class="post-metadata">

**Author:** ![Pixelangry](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@Pixelangry](https://forum.kirupa.com/u/Pixelangry)\
**Post date:** [April 16, 2006, 9:04am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/7 "2006-04-16T09:04:46Z")

</div>

still nothing…i would upload the flash but cant attach that large…

---

<div class="post-metadata">

**Author:** ![nathan99](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@nathan99](https://forum.kirupa.com/u/nathan99)\
**Post date:** [April 16, 2006, 9:27am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/8 "2006-04-16T09:27:13Z")

</div>

he song’s in rthe swf? in that case, you need to load the linkage id.

right-click sound – \> linkage --\> export for AS --\> type in an id

then  
my\_sound.loadSound(“linkageID”);

---

<div class="post-metadata">

**Author:** ![stringy](https://avatars.discourse-cdn.com/v4/letter/s/919ad9/32.png) [@stringy](https://forum.kirupa.com/u/stringy)\
**Post date:** [April 16, 2006, 9:30am UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/9 "2006-04-16T09:30:01Z")

</div>

> [@Pixelangry](#):
>
> still nothing…i would upload the flash but cant attach that large…

maybe like this but can`t see your checkDigits function

```auto
var my_sound:Sound = new Sound();
my_sound.loadSound("my_sound.mp3", false);
onEnterFrame = function () {
	if (my_sound.getBytesLoaded() == my_sound.getBytesTotal()) {
		this.onEnterFrame = checks;
		my_sound.start();
	}
};
playTime = {};
trackTime = {};
function checks() {
	var dur = int(my_sound.duration/1000);
	var pos = int(my_sound.position/1000);
	playTime.minutes = int(pos/60);
	playTime.seconds = int(pos%60);
	playTime.total = checkDigits(playTime.minutes)+":"+checkDigits(playTime.seconds);
	trackTime.minutes = int(dur/60);
	trackTime.seconds = int(dur%60);
	trackTime.total = checkDigits(trackTime.minutes)+":"+checkDigits(trackTime.seconds);
	timetext.text = playTime.total+" / "+trackTime.total;
}

```

---

<div class="post-metadata">

**Author:** ![Pixelangry](https://avatars.discourse-cdn.com/v4/letter/p/77aa72/32.png) [@Pixelangry](https://forum.kirupa.com/u/Pixelangry)\
**Post date:** [April 16, 2006, 5:19pm UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/10 "2006-04-16T17:19:50Z")

</div>

nathan:  
The song is external, its a .mp3 in the folder where all my .swfs are.

stringy:

```auto

function checkDigits(toCheck)
{
   var _l1 = toCheck;
   _l1 = "0" + _l1;
   _l1 < 10 ? ("0" + _l1) : (_l1);
   return(_l1 < 10 ? ("0" + _l1) : (_l1));
}

```

---

<div class="post-metadata">

**Author:** ![stringy](https://avatars.discourse-cdn.com/v4/letter/s/919ad9/32.png) [@stringy](https://forum.kirupa.com/u/stringy)\
**Post date:** [April 16, 2006, 6:06pm UTC](https://forum.kirupa.com/t/displaying-duration-and-position/185600/11 "2006-04-16T18:06:14Z")

</div>

> [@Pixelangry](#):
>
> nathan:  
> The song is external, its a .mp3 in the folder where all my .swfs are.
> 
> stringy:
> 
> ```auto
> 
> function checkDigits(toCheck)
> {
> var _l1 = toCheck;
> _l1 = "0" + _l1;
> _l1 < 10 ? ("0" + _l1) : (_l1);
> return(_l1 < 10 ? ("0" + _l1) : (_l1));
> }
> 
> ```

heres a file using the code i posted earlier -just added a simple preloader  
[http://www.fmx6.com/teststuff/sound.swf](http://www.fmx6.com/teststuff/sound.swf)  
Hope it is what you wanted  
entire code

```auto
var my_sound:Sound = new Sound();
my_sound.loadSound("my_sound.mp3", false);
onEnterFrame = function () {
	if (my_sound.getBytesLoaded()>10) {
		timetext.text = Math.floor(100*my_sound.getBytesLoaded()/my_sound.getBytesTotal())+" %loaded";
	}
	if (my_sound.getBytesLoaded() == my_sound.getBytesTotal()) {
		this.onEnterFrame = checks;
		my_sound.start();
	}
};
playTime = {};
trackTime = {};
function checkDigits(toCheck) {
	var _l1 = toCheck;
	_l1 = "0"+_l1;
	_l1<10 ? ("0"+_l1) : (_l1);
	return (_l1<10 ? ("0"+_l1) : (_l1));
}
function checks() {
	var dur = int(my_sound.duration/1000);
	var pos = int(my_sound.position/1000);
	playTime.minutes = int(pos/60);
	playTime.seconds = int(pos%60);
	playTime.total = checkDigits(playTime.minutes)+":"+checkDigits(playTime.seconds);
	trackTime.minutes = int(dur/60);
	trackTime.seconds = int(dur%60);
	trackTime.total = checkDigits(trackTime.minutes)+":"+checkDigits(trackTime.seconds);
	timetext.text = playTime.total+" / "+trackTime.total;
}

```

just make sure my\_sound is in the same directory and that the extension".mp3" is not capitalized
