Пожалуйста подскажите почему при третьем нажатии на кнопку возникает исключение:
java.lang.RuntimeException: Init failed.
unit Main;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls;
type
TFormMain = class(TForm)
ButtonDtmf0: TButton;
procedure ButtonDtmf0Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormMain: TFormMain;
implementation
uses Androidapi.JNI.Media;
{$R *.fmx}
procedure Play(Tone, Volume, DurationMs: Integer); overload;
var ToneGenerator: JToneGenerator;
begin
ToneGenerator := TJToneGenerator.JavaClass.init(TJAudioManager.JavaClass.STREAM_MUSIC, Volume);
ToneGenerator.StartTone(Tone, DurationMs);
end;
procedure TFormMain.ButtonDtmf0Click(Sender: TObject);
var
I: Integer;
begin
for I := 1 to 15 do
begin
Play(TJToneGenerator.JavaClass.TONE_DTMF_0, TJToneGenerator.JavaClass.MAX_VOLUME div 2, 50);
sleep(100);
end;
end;
end.
В реальной программе многократное нажатие на разные кнопки вызывает исключение. Данный пример показывает суть проблемы.