我创建了一个滑动音量控制的小型音乐播放器。我在音量方面遇到问题。虽然它可以正确控制音量,但如果将初始音量设置为低于100%,音量始终从100%开始,直到将鼠标移到播放器上。此时,音量会更改为初始音量设置为的值。音量滑块 - 在鼠标移过之前音量不会改变
这是一个Flash错误,还是我错过了什么?
这里是受影响的代码(用于其它按钮/功能不再赘述代码):
var song_initvolume:Number = 100;
slider_1._x = groove_1._x + song_initvolume;
playSong(0,song_play);
slider_1.onPress = function() {
this.startDrag(true, groove_1._x, groove_1._y, groove_1._x + 96, groove_1._y);
}
slider_1.onRelease = function() {
this.stopDrag();
}
slider_1.onMouseMove = function(){
newPoint = new Object();
newPoint.x = this._x;
newPoint.y = this._y;
groove_1.globalToLocal(newPoint);
mySound_sound.setVolume(-1 * newPoint.x);
}
function playSong(songNum,songPlay,reset_Pos){
if(reset_Pos){
mySound_sound = new Sound();
}
var myTitle = mySongs_array[songNum].TITLE;
trace("Playing TITLE= " + myTitle);
var myArtist = mySongs_array[songNum].ARTIST;
trace("Playing ARTIST= " + myArtist);
var myURL = mySongs_array[songNum].URL;
trace("Playing URL= " + myURL);
title_txt.text = mySongs_array[songNum].TITLE;
artist_txt.text = mySongs_array[songNum].ARTIST;
mySound_sound.loadSound(myURL,songPlay);
// start oncomplete
mySound_sound.onSoundComplete = function() {
song_pos = 0;
reset_Pos = true;
if(song_continuous){
song_play = true;
current_song++;
if (current_song>=my_total){
current_song=0;
if(song_loop){
song_play = true;
} else {
song_play = false;
}
}
} else {
song_play = false;
}
playSong(current_song,song_play,reset_Pos);
}
// end oncomplete
}
我想能够设置体积说50%,但上面提到的行为发生每一次。
任何想法,不胜感激。
应该提到,我在那里有代码,我也有同样的症状。 上面,我有: var song_volume:Number = 50; 然后,在首次播放歌曲之前,这些行: song_volume = -1 * song_volume; mySound_sound.setVolume(song_volume); 没有工作! – BumbleBob 2009-11-21 01:05:41