我正在建立一个视频播放器,我有点卡在音量滑块部分。这是一个YouTube风格的垂直滑块,这意味着如果滑块处于顶部位置,音量应该是100%,并且如果滑块被拖动到底部位置,声音应该为0.目前它与我想要的相反:如何反转我的音量滑块的音量数学?
拖动滑块降低会使声音更响亮,而向上拖动会降低它。
这是我下面处理的音量滑块码。
// Sound Controller Settings ······························
soundController = new SoundController();
soundContrColor = soundController.colorChip;
soundContrGray = soundController.grayCover;
soundContrGray.visible = false;
soundController.visible = true;
soundController.buttonMode = true;
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_DOWN, sliderDown);
// SoundController Button Mouse Events ························
public function sliderDown(event:MouseEvent):void
{
soundController.soundSlider.startDrag(false, dragBounds);
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_UP, sliderUp);
soundContrGray.visible = true;
}
public function sliderMove(event:MouseEvent):void
{
soundContrGray.height = soundController.soundSlider.y;
userVolume = Math.round(((soundContrGray.y * soundContrGray.height)/10) - 4);
//userVolume = soundContrGray.height;
setVolume(userVolume);
trace("soundController.mouseY = "+soundController.soundSlider.y);
trace("soundContrColor.height = "+Math.round(soundContrGray.height));
trace("userVolume = "+userVolume+"\r");
event.updateAfterEvent();
}
public function sliderUp(event:MouseEvent):void
{
lastVolPoint = soundContrGray.height;
setVolume(userVolume);
event.updateAfterEvent();
soundController.soundSlider.stopDrag();
soundController.soundSlider.removeEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
soundController.soundSlider.removeEventListener(MouseEvent.MOUSE_UP, sliderUp);
}
[TRACES]当我一路拖到顶部:
soundController.mouseY = 6
soundContrGray.height = 6
userVolume = 0
[TRACES]当我拖累了所有一路下跌:我相信这是
soundController.mouseY = 56
soundContrGray.height = 56
userVolume = 30
问题所在:
userVolume = Math.round(((soundContrGray.y * soundContrGray.height)/10) - 4);
的(-4)是偏移值,当你拖动它一直关闭它,它是0而不是4。
我需要扭转这种不知何故,所以上面的痕迹将交换...下去将使userVolume = 4,并将上升将使它30.
预先感谢任何人看看这个! :)
什么是'soundContrGray.y'? – 2010-02-01 20:41:50
这是一个覆盖绿色音量指示符的灰色矩形,我试图首先控制绿色矩形,但获得了奇怪的结果。所以我决定改为只在绿色顶部设置灰色矩形,因为这是我控制矩形的方向。(修正的轨迹语句) – 2010-02-01 21:38:21