在android应用程序delphi xe 7中控制音量

时间:2015-02-04 04:43:47

标签: android delphi audio volume

我使用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不起作用)我只是想设置

1 个答案:

答案 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;