Отличный код! Большое спасибо.
Добавил еще определение максимального уровня громкости getStreamMaxVolume из AndroidApi, так как в разных версиях андроида может отличаться количество градаций громкости.
Итого в событии формы обработки нажатий клавиш, определение уровня громкости для медиаплеера, которая лежит в диапазоне от 0 до 1, определяется так:
uses
Androidapi.JNI.JavaTypes,
Androidapi.JNI.Media,
Androidapi.Helpers,
Androidapi.JNI.App,
Androidapi.JNIBridge;
Var MediaPlayer_Volume: single;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
var AudioObj: JObject;
Audio: JAudioManager;
begin
if (key = vkVolumeDown) or (key = vkVolumeUp) then begin
AudioObj:= SharedActivity.getSystemService(TJActivity.JavaClass.AUDIO_SERVICE);
Audio:= TJAudioManager.Wrap((AudioObj as ILocalObject).GetObjectID);
MediaPlayer_Volume:=Audio.getStreamVolume(TJAudioManager.JavaClass.STREAM_MUSIC)/Audio.getStreamMaxVolume(TJAudioManager.JavaClass.STREAM_MUSIC);
end;
end;