neo Опубликовано 30 сентября, 2015 Поделиться Опубликовано 30 сентября, 2015 Здравствуйте нашёл код для андройда который читает текст он работает но я не всё в нём понимаю... зачем понадобилось создавать слабую форму FFormMain (weak) почему просто не сделали класс с событиями и при TJTextToSpeech_SUCCESS через TThread.Queue меняли что-то на форме? 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.Layouts, FMX.Memo, FMX.StdCtrls, android.speech.tts, Androidapi.JNIBridge, FMX.ScrollBox, FMX.Controls.Presentation; type TFormMain = class(TForm) ButtonSay: TButton; Memo: TMemo; procedure ButtonSayClick(Sender: TObject); procedure FormCreate(Sender: TObject); private type TOnInitListener = class(TJavaLocal, JTextToSpeech_OnInitListener) private [weak] FFormMain: TFormMain; public constructor Create(FormMain: TFormMain); procedure onInit(Status: Integer); cdecl; end; private OnInitListener: TOnInitListener; TextToSpeech: JTextToSpeech; public { Public declarations } end; var FormMain: TFormMain; implementation uses Androidapi.Helpers, FMX.Helpers.Android; {$R *.fmx} constructor TFormMain.TOnInitListener.Create(FormMain: TFormMain); begin inherited Create; FFormMain := FormMain; end; procedure TFormMain.TOnInitListener.onInit(Status: Integer); begin if Status = TJTextToSpeech_SUCCESS then FFormMain.ButtonSay.Enabled := True; end; procedure TFormMain.ButtonSayClick(Sender: TObject); begin TextToSpeech.speak(StringToJString(Memo.text), TJTextToSpeech_QUEUE_ADD, nil); end; procedure TFormMain.FormCreate(Sender: TObject); begin OnInitListener := TOnInitListener.Create(Self); TextToSpeech := TJTextToSpeech.JavaClass.init(SharedActivityContext, OnInitListener); end; end. atts.zip Цитата Ссылка на комментарий
Вопрос
neo
Здравствуйте нашёл код для андройда
который читает текст
он работает но я не всё в нём понимаю...
зачем понадобилось создавать слабую форму FFormMain (weak)
почему просто не сделали класс с событиями
и при TJTextToSpeech_SUCCESS через TThread.Queue меняли что-то на форме?
atts.zip
Ссылка на комментарий
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.