Jump to content


Help With MP3 Tut III.. Please!


  • You cannot reply to this topic
3 replies to this topic

#1 WillGee

    Young Padawan

  • Members
  • Pip
  • 3 posts

Posted 13 August 2007 - 10:33 PM

Hello,

I am sure that I have missed something here. I just finished the tut for the MP3 III w//XML by funkysoul (awesome btw!) and overall it works great but I can't seem to get the song title to display from the playlist - it just says "undefined".

I'm guessing that it has something to do with this line "_root.sound_mc.songStarter(songfile[this.id]);"
Note that I've opted out of the scolling text - I prefer the non-scolling from part I (or was that II?...)

Here's my AS - hopefully I haven't mangled it too much :)

Any help would be GREATLY appreciated!

Thanks...Will

stop();
playlist = new XML();
playlist.ignoreWhite = true;
playlist.onLoad = function(success) {
	if (success) {
		_global.songname = [];
		_global.songband = [];
		_global.songfile = [];
		for (var i = 0; i<playlist.firstChild.childNodes.length; i++) {
			_global.songname[i] = playlist.firstChild.childNodes[i].attributes.name;
			_global.songband[i] = playlist.firstChild.childNodes[i].attributes.band;
			_global.songfile[i] = playlist.firstChild.childNodes[i].attributes.file;
			// trace(songname[i]+"  "+songfile[i]+" "+songband[i]);
			attachMovie("butTemp","but"+i,i+50);
			eval("but"+i).id=i;
			_root["but"+i]._x = 20;
			_root["but"+i]._y = 100 + (i*15);
			_root["but"+i].but_txt.text = songname[i];
			if (i >= 8){
			_root["but"+i]._x = 160
			_root["but"+i]._y = -5 + (i*15);
			}
			_root["but"+i].onRelease = function(){
			_root.sound_mc.songStarter(songfile[this.id]);
			}
					}
	}
	_root.createEmptyMovieClip("sound_mc", 1);
	_global.song_nr = random(songfile.length);
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr], songband[song_nr]);
};
function timer(sound_obj) {
	time = sound_obj.position/1000;
	min = Math.floor(time/60);
	min = (min<10) ? "0"+min : min;
	sec = Math.floor(time%60);
	sec = (sec<10) ? "0"+sec : sec;
	timeDisplay_txt.text = min+":"+sec;
}
MovieClip.prototype.songStarter = function(file, name, band) {
	if (this.sound_obj) {
		this.sound_obj.stop();
		delete this.sound_obj;
	}
	this.sound_obj = new Sound(this);
	this.sound_obj.loadSound(file, true);
	this.onEnterFrame = function() {
		if (this.sound_obj.position>0) {
			delete this.onEnterFrame;
			this._parent.display_txt.text = name;
			timeInterval = setInterval(timer, 1000, this.sound_obj);
		} else {
			this._parent.display_txt.text = "loading...";
		}
	};
	this.sound_obj.onSoundComplete = function() {
		clearInterval(timeInterval);
		this._parent.timeDisplay_txt.text = "00:00";
		(song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
		_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr], songband[song_nr]);
	};
	this._parent.volume1.dragger.onPress = function() {
		startDrag(this, true, 0, this._y, this._parent.volBG._width, this._y);
		this.onEnterFrame = function() {
			var p = (this._x/this._parent.volBG._width)*100;
			this._parent._parent.sound_mc.sound_obj.setVolume(p);
		};
	};
	this._parent.volume1.dragger.onRelease = function() {
		delete this.onEnterFrame;
		stopDrag();
	};
	this._parent.volume1.dragger.onReleaseOutside = function() {
		stopDrag();
	};
};
btn_play.onRelease = function() {
    if (pause == true){ // no comment....
        this._parent.sound_mc.sound_obj.start(posiP) // start sound from the previously saved position
    }
    else {
    clearInterval(timeInterval);
    _root.timeDisplay_txt.text = "00:00/00:00";
    this._parent.sound_mc.songStarter(songfile[song_nr]);
    }
};

btn_pause.onRelease = function() { //pause button function
	this._parent.sound_mc.sound_obj.stop(); //stop the current sound
    posiP = _root.sound_mc.sound_obj.position / 1000; // save the current position in a new variable and divide by 1000 (ms -> sec)
    pause = true;//set the variable pause to true
}

btn_stop.onRelease = function() {
	this._parent.sound_mc.sound_obj.stop();
};
btn_fw.onRelease = function() {
	(song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};
btn_rev.onRelease = function() {
	(song_nr == 0) ? _global.song_nr=songfile.length-1 : _global.song_nr--;
	_root.sound_mc.songStarter(songfile[song_nr], songname[song_nr]);
};


playlist.load("playlist.xml");


#2 funkysoul

    The Funky Stuff

  • Publishing Betazoids
  • PipPipPipPip
  • 2,307 posts
  • Gender:Male
  • Location:Zurich, Switzerland
  • Interests:Music: HIM, HIM, HIM, Cafe del Mar, Linkin Park, Fort Minor, Coldplay, Eric Jordan<br />Sports: Snowboarding, KiteSurfing, Extreme Sports<br />Computer: Flash, After Effects, Actionscript

Posted 14 August 2007 - 04:43 AM

does the first trace bring up the correct results?
By pressing CTRL+SHIFT+ENTER you can enter debug mode, check if the variables are correctly displayed in the debug window.

Edited by funkysoul, 14 August 2007 - 04:43 AM.


#3 WillGee

    Young Padawan

  • Members
  • Pip
  • 3 posts

Posted 14 August 2007 - 08:02 AM

Thanks for the reply!

I tried debugging and the variables for the txt came back fine when using the player controls but when I click on the playlist it switches to "undefined". This wouldn't be tied to the id3 tag would it?

Thx!...Will

#4 WillGee

    Young Padawan

  • Members
  • Pip
  • 3 posts

Posted 14 August 2007 - 08:25 AM

I'll attach the files in case you want to see them.

Attached File  camplayer.zip   8.91MB   164 downloads

thanks again!





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users