Jump to content


Audio Player


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

#1 d2Squared

    P2L Jedi

  • Members
  • PipPipPip
  • 828 posts
  • Gender:Male
  • Location:Israel
  • Interests:Swimmig<br />Web-design<br />Starcraft

Posted 17 June 2007 - 12:29 PM

Hey, I am looking for some help with the following action script.
Things I need help in changing are:
1. When you switch songs from one song to another it makes that lower volume to higher volume effect, now, I need to stop it. I don't want any special features except playing the song normally from the start.
2. I need to change the colors of the "Songs titles" at the bottom, how do I do that?
3. Also, I need to make that player a bit bigger if possible.
4. When the song is playing, it doesn't show it's name on the bar.

Demo of the player

Here is the actionscript:

stop();
title_txt.autoSize = "left";
timeDisplay_txt.autoSize = "left";
toolTip._visible = false;
var amountLoaded:Number;
var duration:Number;

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;
		attachMovie("butTemp","but"+i,i+50);
		eval("but"+i).id=i;
		_root["but"+i]._x = 5;
		_root["but"+i]._y = 40 + (i*15);
		_root["but"+i].but_txt.text = songname[i];
		if (i >= 3){
			_root["but"+i]._x = 160
			_root["but"+i]._y = -5 + (i*15);
		}
		_root["but"+i].onRelease = function(){
			clearInterval(timeInterval);
			_root.timeDisplay_txt.text = "00:00/00:00";
			_root.sound_mc.songStarter(songfile[this.id]);
		}
	}
	}
	_root.sound_mc.songStarter(songfile[song_nr]);
	_root.createEmptyMovieClip("sound_mc", 1);
	_global.song_nr = random(songfile.length);
	
};

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+"/"+totalDuration;
}
function duration (){
	timed = _root.sound_mc.sound_obj.duration/1000;
	mind = Math.floor(timed/60);
	mind = (mind<10) ? "0"+mind : mind;
	secd = Math.floor(timed%60);
	secd = (secd<10) ? "0"+secd : secd;
	totalDuration = mind+":"+secd;
}
MovieClip.prototype.songStarter = function(file) {
	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.sound_obj.setVolume(0);
	this.onEnterFrame = function() {
		if (this.sound_obj.position>0) {
			delete this.onEnterFrame;
			timeInterval = setInterval(timer, 1000, this.sound_obj);
			track = this.sound_obj.id3.songname;
			artist = this.sound_obj.id3.artist;
			this._parent.title_txt.text =artist+" - "+track;
		} else {
			this._parent.title_txt.text = "loading...";
		}

	};			
	this.sound_obj.onSoundComplete = function() {
		clearInterval(timeInterval);
		_root.timeDisplay_txt.text = "00:00/00:00";
		(song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
		_root.sound_mc.songStarter(songfile[song_nr]);
	};
	this._parent.volume1.dragger.onPress = function() {
		startDrag(this, true, 0, this._y, this._parent.volBG._width, this._y);
		_root.toolTip._visible = true;
		setInterval(draggableTip,100);
		function draggableTip(){
			_root.toolTip._x = _root._xmouse;
		}
		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() {
		_root.toolTip._visible = false;
		stopDrag();
		
	};
};

function soundStatus(){
	var amountLoaded = _root.sound_mc.sound_obj.getBytesLoaded() / _root.sound_mc.sound_obj.getBytesTotal();
	_root.loader.loadBar._width = amountLoaded * 260;
	duration = _root.sound_mc.sound_obj.duration;
	position = _root.sound_mc.sound_obj.position;
	_root.playHead._x = position / duration * 272 + 5;
}

btn_play.onRelease = function() {
	clearInterval(timeInterval);
	_root.timeDisplay_txt.text = "00:00/00:00";
	this._parent.sound_mc.songStarter(songfile[song_nr]);
};
btn_stop.onRelease = function() {
	clearInterval(timeInterval);
	_root.timeDisplay_txt.text = "00:00/00:00";
	this._parent.sound_mc.sound_obj.stop();
};
btn_fw.onRelease = function() {
	clearInterval(timeInterval);
	_root.timeDisplay_txt.text = "00:00/00:00";
	(song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
	_root.sound_mc.songStarter(songfile[song_nr]);
};
btn_rev.onRelease = function() {
	clearInterval(timeInterval);
	_root.timeDisplay_txt.text = "00:00/00:00";
	(song_nr == 0) ? _global.song_nr=songfile.length-1 : _global.song_nr--;
	_root.sound_mc.songStarter(songfile[song_nr]);
};
playlist.load("playlist.xml");
setInterval(duration,100);
setInterval(soundStatus,100);

Thanks in advance :)

Edited by d2Squared, 17 June 2007 - 12:30 PM.


#2 d2Squared

    P2L Jedi

  • Members
  • PipPipPip
  • 828 posts
  • Gender:Male
  • Location:Israel
  • Interests:Swimmig<br />Web-design<br />Starcraft

Posted 18 June 2007 - 04:17 AM

Guys...please, I am in an urgent need for that :)

#3 Pax

    P2L Jedi

  • Members
  • PipPipPip
  • 911 posts
  • Gender:Male
  • Location:Windsor, ON, Canada

Posted 18 June 2007 - 08:57 AM

I commented out a line that set the volume to 0, which should fix your volume problem. The rest I believe should just be modifying the assets for your mp3 player. Making windows bigger, and changing font colour should be done from the Flash IDE. I don't think anything is done through code. Hope that helps.

stop();
title_txt.autoSize = "left";
timeDisplay_txt.autoSize = "left";
toolTip._visible = false;
var amountLoaded:Number;
var duration:Number;

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;
        attachMovie("butTemp","but"+i,i+50);
        eval("but"+i).id=i;
        _root["but"+i]._x = 5;
        _root["but"+i]._y = 40 + (i*15);
        _root["but"+i].but_txt.text = songname[i];
        if (i >= 3){
            _root["but"+i]._x = 160
            _root["but"+i]._y = -5 + (i*15);
        }
        _root["but"+i].onRelease = function(){
            clearInterval(timeInterval);
            _root.timeDisplay_txt.text = "00:00/00:00";
            _root.sound_mc.songStarter(songfile[this.id]);
        }
    }
    }
    _root.sound_mc.songStarter(songfile[song_nr]);
    _root.createEmptyMovieClip("sound_mc", 1);
    _global.song_nr = random(songfile.length);
    
};

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+"/"+totalDuration;
}
function duration (){
    timed = _root.sound_mc.sound_obj.duration/1000;
    mind = Math.floor(timed/60);
    mind = (mind<10) ? "0"+mind : mind;
    secd = Math.floor(timed%60);
    secd = (secd<10) ? "0"+secd : secd;
    totalDuration = mind+":"+secd;
}
MovieClip.prototype.songStarter = function(file) {
    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.sound_obj.setVolume(0);  // This line should remove the cross fade thing
    this.onEnterFrame = function() {
        if (this.sound_obj.position>0) {
            delete this.onEnterFrame;
            timeInterval = setInterval(timer, 1000, this.sound_obj);
            track = this.sound_obj.id3.songname;
            artist = this.sound_obj.id3.artist;
            this._parent.title_txt.text =artist+" - "+track;
        } else {
            this._parent.title_txt.text = "loading...";
        }

    };            
    this.sound_obj.onSoundComplete = function() {
        clearInterval(timeInterval);
        _root.timeDisplay_txt.text = "00:00/00:00";
        (song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
        _root.sound_mc.songStarter(songfile[song_nr]);
    };
    this._parent.volume1.dragger.onPress = function() {
        startDrag(this, true, 0, this._y, this._parent.volBG._width, this._y);
        _root.toolTip._visible = true;
        setInterval(draggableTip,100);
        function draggableTip(){
            _root.toolTip._x = _root._xmouse;
        }
        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() {
        _root.toolTip._visible = false;
        stopDrag();
        
    };
};

function soundStatus(){
    var amountLoaded = _root.sound_mc.sound_obj.getBytesLoaded() / _root.sound_mc.sound_obj.getBytesTotal();
    _root.loader.loadBar._width = amountLoaded * 260;
    duration = _root.sound_mc.sound_obj.duration;
    position = _root.sound_mc.sound_obj.position;
    _root.playHead._x = position / duration * 272 + 5;
}

btn_play.onRelease = function() {
    clearInterval(timeInterval);
    _root.timeDisplay_txt.text = "00:00/00:00";
    this._parent.sound_mc.songStarter(songfile[song_nr]);
};
btn_stop.onRelease = function() {
    clearInterval(timeInterval);
    _root.timeDisplay_txt.text = "00:00/00:00";
    this._parent.sound_mc.sound_obj.stop();
};
btn_fw.onRelease = function() {
    clearInterval(timeInterval);
    _root.timeDisplay_txt.text = "00:00/00:00";
    (song_nr == songfile.length-1) ? _global.song_nr=0 : _global.song_nr++;
    _root.sound_mc.songStarter(songfile[song_nr]);
};
btn_rev.onRelease = function() {
    clearInterval(timeInterval);
    _root.timeDisplay_txt.text = "00:00/00:00";
    (song_nr == 0) ? _global.song_nr=songfile.length-1 : _global.song_nr--;
    _root.sound_mc.songStarter(songfile[song_nr]);
};
playlist.load("playlist.xml");
setInterval(duration,100);
setInterval(soundStatus,100);






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users