контроль громкости плеера - потрескивание - PullRequest
1 голос
/ 14 марта 2012

Я хочу, чтобы мой космический корабль становился все громче, когда моя мышь удалялась от него (и наоборот). Проблема в том, что моя функция издает раздражающий потрескивающий звук, от которого я не могу избавиться, когда убираю от нее мышь (и наоборот). Пока звуковой файл в порядке. Может кто-нибудь помочь мне с этой проблемой, пожалуйста?

shipSpeed = (abs(player.x - playerPrevPt.x) + abs(player.y - playerPrevPt.y)) / 2;//the ship's speed gets calculated

//this is used to determine whether the ship's volume of its sound shall be increased or decreased
if (shipSpeedPrev < shipSpeed) {
    sndManager.increaseSound(Main.SOUND_BACKGROUND, false, .01);
    } else if (shipSpeedPrev > shipSpeed) {
    sndManager.decreaseSound(Main.SOUND_BACKGROUND, false, .01);
    } else if (shipSpeedPrev == shipSpeed) {

    } else {

}

shipSpeedPrev = (abs(player.x - playerPrevPt.x) + abs(player.y - playerPrevPt.y)) / 2;//this is another ship speed so I can compare them

// функция limitSound почти такая же

public function increaseSound(soundName:String, isSoundTrack:Boolean = false, steps:Number = .1, targetVol:Number = 1):void {
        if (isSoundTrack) {
            if (soundTrackChannel != null) {
                musicVolumeAdj.volume += steps;
                if (musicVolumeAdj.volume >= targetVol) {
                    musicVolumeAdj.volume = targetVol;
                }
                soundTrackChannel.soundTransform = musicVolumeAdj;
            }
        } else {
            soundVolumeAdj = new SoundTransform(incrSndVal, 0);
            incrSndVal += steps;
            soundVolumeAdj.volume += incrSndVal;
            if (soundVolumeAdj.volume >= 1) {
                soundVolumeAdj.volume = 1;
            }
            soundChannels[soundName].soundTransform = soundVolumeAdj;
        }
    }

1 Ответ

1 голос
/ 14 марта 2012

Скорее всего, звук будет обрезан при увеличении громкости. Попытайтесь выяснить, на каком уровне происходит ограничение, и затем измените свою функцию, чтобы она не выходила за пределы этого объема.

Возможно, вы также можете переписать аудиофайл и уменьшить общую громкость, чтобы вы могли увеличить его в своей игре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...