Перейти к содержанию
Fire Monkey от А до Я
  • 0

Исключение при работе с TJToneGenerator


Pavel M

Вопрос

Пожалуйста подскажите почему при третьем нажатии на кнопку возникает исключение:

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.

В реальной программе многократное нажатие на разные кнопки вызывает исключение. Данный пример показывает суть проблемы.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

Он случайно не должен работать в java UI Thread?

Так же обратите внимание на метод Release. Вполне возможно, что у вас OutOfMemory

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...