Hooch Posted December 2, 2007 Share Posted December 2, 2007 Hello everyone. I have made an mp3 player from some tutorials. It works very well, except the volume will resetto 100% each time a new song starts. I would like it to stay unless the user moves it. Here is my code 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], songname[this.id], songband[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+"/"+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, 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.sound_obj.setVolume(100); this.onEnterFrame = function() { if (this.sound_obj.position>0) { delete this.onEnterFrame; timeInterval = setInterval(timer, 1000, this.sound_obj); this._parent.title_txt.text =name+" - "+band; } 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], songname[song_nr], songband[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() { 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], songname[song_nr], songband[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() { clearInterval(timeInterval); _root.timeDisplay_txt.text = "00:00/00:00"; this._parent.sound_mc.sound_obj.stop();};btn_next.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], songname[song_nr], songband[song_nr]);};btn_prev.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], songname[song_nr], songband[song_nr]);};playlist.load("zenplayer/includes/playlist.php");setInterval(duration,100);setInterval(soundStatus,100); I have no clue how to go about fixing this.This is strictly from a tutorial.Thank you for your time and help.Hooch. Link to comment Share on other sites More sharing options...
justsomeguy Posted December 3, 2007 Share Posted December 3, 2007 The songStarter function has this:this.sound_obj.setVolume(100);Use a global variable to keep track of the volume yourself (have the volume change functions update the global variable in addition to the actual volume), and then in the songStarter function just have it set the volume to the global variable value. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.