我正在构建一个视频播放器,有点卡在音量滑块部分。这是一个 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。
提前感谢任何看这个的人!:)