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;
我正在使用 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;