1

スライド ボリューム コントロールを備えた小さな音楽プレーヤーを作成しました。音量で悩んでいます。音量は適切に制御されますが、最初の音量を 100% 未満に設定すると、マウスをプレーヤーの上に移動するまで、音量は常に 100% から始まります。その時点で、音量は初期音量に設定されているものに変わります。

これはフラッシュ バグですか、それとも何か不足していますか?

影響を受けるコードは次のとおりです (簡潔にするために、他のボタン/機能のコードは省略されています)。

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% に設定できるようにしたいのですが、毎回上記の動作が発生します。

どんなアイデアでも大歓迎です。

4

2 に答える 2

1

初期値で mySound_sound.setVolume() を呼び出す必要があります。現時点では、onMouseMove ハンドラーで行うだけです。

于 2009-11-21T00:28:24.573 に答える
1

このコードで修正しました:

mySound_sound.onLoad = function(){
    mySound_sound.setVolume(-1 * song_volume);
}

今すぐ大活躍!

于 2009-11-21T04:18:19.600 に答える