我使用FormKeyup程序打开/关闭音量,如下所示:
if key = vkVolumeDown then begin
quadrum:= 0.2;
if MediaPlayer1.Volume - quadrum > 0 then
MediaPlayer1.Volume:= MediaPlayer1.Volume-quadrum;
if MediaPlayer1.Volume - quadrum < 0 then
MediaPlayer1.Volume:= MediaPlayer1.Volume.Minvalue;
snd:= false;
end;
但它只能打开/关闭声音(正负0.2不起作用)我只是想设置
答案 0 :(得分:2)
你的代码的问题在于,你应该使用if .. else statment,而不是两个嵌套的if语句。为什么? 第二个嵌套的if语句是在已经减少了quadrum的值之后重新检查MediaPlayer1.Volume - quadrum。因此,如果MediaPlayer1.Volume为0.4或更小,它会立即静音。特别是如果将snd设置为false会停止声音播放。无论如何,总是会执行这个命令。
所以你的代码应该是这样的:
if key = vkVolumeDown then begin
quadrum:= 0.2;
if MediaPlayer1.Volume - quadrum > 0 then
MediaPlayer1.Volume:= MediaPlayer1.Volume-quadrum
else
begin
MediaPlayer1.Volume:= MediaPlayer1.Volume.Minvalue;
snd:= false;
end;
end;