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

Control volume in android application delphi xe 7

我正在使用 FormKeyup 程序来 on/off 音量,如下所示:

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;

但它只能切换 on/off 声音(正负 0.2 不起作用)我只想设置

您的代码的问题在于,您应该使用 if .. else 语句而不是两个嵌套的 if 语句。为什么? 第二个嵌套 if 语句正在重新检查 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;