-
Постов
135 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Сообщения, опубликованные zairkz
-
-
Цитата
ругается:
[DCC Error] AndoridVoiceComponents.dpk(38): E2200 Package 'rtl' already contains unit 'Androidapi.JNI.Speech'
Компонент надо установить только под 32-bit windows->compile->install
А для компиляции проекта надо чтобы в папке проекта лежали выше указанные файлы.
-
Упс, не забудьте добавить SpeechRecognition.pas' добавить в проект и в папку с проектом скопировать файлы android.speech.SpeechRecognizer.pas, Androidapi.JNI.Speech.pas, AndroidTTS.pas
-
Если еще актуально:
Установил компонент SpeechRecognition1 (во вложении)
Накидываю на форму компонент TSpeechRecognition из панели компонентов
в нем имеются свойства(у меня следующие):
AlwaysGuesses: true; Language: ru-RU; Prompt: Пожалуйста скажите ЧЕ нибудь!
Объявите глобально FSpeech: TStrings; является своего рода посредником передачи данных иначе все глючит) Теперь при необходимости вызывайте SpeechRecognition1.ListenFor(FSpeech); появится окно обработки голоса Далее в компоненте обработчике OnRecognitionEx прописываем куда распознанный текст должен попасть Edit1.Text := Guesses[0];
Ссылка на источник http://delphi.org/2014/10/voice-enable-your-android-apps/ но кажись сейчас можно скачать только Триал версию, а во вложении полная версия (да простят меня Боги!), демки там есть, а также примеры для перевода текста в голос.
-
Создана группа для знакомства и общения разработчиков, использующих инструменты Fire-Monkey.
Небольшой свод правил в группе Fire-Monkey:
- Не стоит описывать проблему, скрины и тд. не изучив необходимую литературу и форум, если решения все-таки нет, необходимо создать тему на форуме fire-monkey.ru и скинуть в группу ссылку;
- необходимо учитывать часовые пояса, в случае если на тему в Форуме долго нет ответа;
- можно постить новости IT-рынка связанных с Fire-Monkey и RAD-studio, iOS и Android;
- «баяны», «мемы» и приколы касательно тематике чата приветствуются, желательно в небольшом количестве;
- скриншоты и описание программ написанных на Fire-Monkey тоже приветствуются;
- будьте вежливыми, ведь вежливость – это утонченность речи, благопристойность манер и поведения;
Запрещено:
- запрещено задавать элементарные вопросы касательно разработки, для этого есть куча литературы;
- запрещены сообщения с большим описание проблемы и кода, для этого есть всем известный форум;
- навязчивая реклама компании\приложения в чате под запретом;
- оскорбления в адрес участников и в адрес Embarcadero запрещены;
- запрещены спам, порнография и подобная грязь;@fire_monkey в Telegram
-
uses
Androidapi.Helpers,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.App,
Androidapi.JNI.JavaTypes,
Androidapi.JNIBridge,
Androidapi.JNI.Provider;
-
Вообщем так как андройд не поддерживает функцию определения соединения, сделал через журнал звонков
В Андройде после звонка если было соединение, время звонка будет больше нуля.
//PhoneDialerService.OnCallStateChanged := MyOnCallStateChanged;
На Disconnected проверяю журнал звонков, так как бывает не успевает падать информация использую таймер с интервалом 1 секунда, ниже приведен код в нем или iOS соединения и все ок или андройд на дисконекте и пуск таймера.
procedure TForm_Main.MyOnCallStateChanged(const ACallID: String; const ACallState: TCallState); begin case ACallState of TCallState.Connected: begin {$IFDEF IOS} TThread.Synchronize(nil, ShowDialDialog); {$ENDIF} end; TCallState.Disconnected: begin {$IFDEF ANDROID} TimerCallCheck.Enabled := true; {$ENDIF} PhoneDialerService.OnCallStateChanged := nil; end; end; end;
Пока не добавил такую архитектуру с ТТаском и Синхронизацией были иногда вылеты приложения
procedure TForm_Main.TimerCallCheckTimer(Sender: TObject); begin TimerCallCheck.Enabled := false; TTask.Run( procedure var Dur: Int64; begin Dur := CheckStat; //Функция проверки журнала TThread.Synchronize(nil, procedure begin if Dur = -1 then TimerCallCheck.Enabled := true else begin TimerCallCheck.Enabled := false; if Dur > 0 then ShowDialDialog; //Вызывается форма у меня в приложении end; end); end); end;
function TForm_Main.CheckStat: Int64; var cursor: JCursor; Dtime, CallDuration: Int64; JsortOrder, JSelection: String; wJQueryParams: TJavaObjectArray<JString>; begin Result := 0; wJQueryParams := TJavaObjectArray<JString>.Create(4); wJQueryParams[0] := TJCallLog_Calls.JavaClass.CACHED_NAME; wJQueryParams[1] := TJCallLog_Calls.JavaClass.NUMBER; wJQueryParams[2] := TJCallLog_Calls.JavaClass.DURATION; wJQueryParams[3] := TJCallLog_Calls.JavaClass.DATE; JsortOrder := 'date DESC LIMIT 1'; Dtime := (DateTimeToUnix(Now, true) - 360) * 1000; //Последние пять минут JSelection := 'number = "+77017017708" AND type = 2 AND date > ' + IntToStr(Dtime); cursor := TAndroidHelper.Activity.getContentResolver.query(TJCallLog_Calls.JavaClass.CONTENT_URI, wJQueryParams, StringToJString(JSelection), nil, StringToJString(JsortOrder)); if (cursor.getCount > 0) then begin while (cursor.moveToNext) do begin CallDuration := StrToInt64(JStringToString(cursor.getString(cursor.getColumnIndex(TJCallLog_Calls.JavaClass.DURATION)))); Result := CallDuration; end; end else Result := -1; cursor.Close; FreeAndNil(wJQueryParams); end;
-
Да в Android'е не отловить соединение если звонок делаете вы.
Могу скинуть костыль (действительно Костыль) но помогает пока
-
Что именно не работает?? Все работает.
Предполагаю что вы столкнулись с невозможностью определения "было ли установлено соединения" если звоните вы. Так?
-
52 минуты назад, FeLDMARShaL сказал:
Сейчас подходит время публикации очередного приложения, после его успешной публикации переведем остальные наши приложения на эти компоненты, и забудем о проблеме как страшный сон. Больше не будем использовать для мобильной разработки компоненты RTC, их саппорт культурно объяснил что исправлять он не будет торопиться эту проблему.
На INDY все прекрасно работает., после обновление Berlin и Xcode надо было еще раз на Indy попробовать.
-
4 часа назад, FeLDMARShaL сказал:
Нужна публикация, занимаюсь проблемой в плотную. Как оказалось то же самое прилоежние на андройде, который подключен к той же маковской сети NAT64/DNS64 без проблем выходит в инет. Получается запара именно в iOS девайсах. У кого нибудь за это время появились какие нибудь идеи?
Переход на новый берлин не исправил проблему. Есть люди которые смогли опубликовать приложение которое работает с сетью, может кто поделится опытом?
Было за неделю 5 отказов (2 точно таких же), пока не перешел на Berlin и не обновил Mac на EL Capitan, ну и соответственно последний Xcode.
Скиньте описание отказа
-
16 часов назад, kami сказал:
Но если про него кто-то помнит (держит ссылку), то зомби будет продолжать влачить существование.
-
18 часов назад, ZuBy сказал:
то что создается, должно быть убито. вот и всё
То что мертво, умереть не может!
-
Так у меня точно такой отчет об ошибке пришел, скину позже в личку скрины, что то на счет IPv6
-
Было за неделю 5 отказов (2 точно таких же), пока не перешел на Berlin и не обновил Mac на EL Capitan, ну и соответственно последний Xcode.
У меня был Seatle (но С..КА не Update 1) , а в BugFix Seatle Update 1 есть такой исправленный баг ->
iOS app constantly rejected in AppStore
IDE, IDE\Deployment
https://quality.embarcadero.com/browse/RSP-12744
Думаю вам достаточно обновить до Update 1
Кстати (может это и элементарно) чуток попарился из-за того что не правильно прикрепил новый plist(для поддержки шрифта) в Deploy, так как для ios32 ios64 они разные(это понятно) но и для ApplicationStore он другой)
Ну и очень радует что проверку они начали делать в течении суток.
Пожалуйста скажите что у Вас тоже просто обычный Seatle!! Я хоть успокоюсь что я ни один такой , который время в пустую потратил
-
А может в fgApplicationEvents FormHide/FormShow сделаете на TApplicationEventMessage, всем бы понятнее было намного
-
16 минут назад, Brovin Yaroslav сказал:
- Добавлены жесты в TfgFlipView.
Если есть какие пожелания?, можно попробовать их добавить в новую версию.
А жесты какие прикручены? Может картинка за пальцем тянется?
-
Было бы очень хорошо если бы добавили fgApplicationEvents TApplicationEventMessage
Сколько мучился не срабатывают события стандартные Form Show/Hide и у в fgApplicationEvents тоже не работают (Android/iOS)
А вот сворачивание и разворот отлично работает на TApplicationEvent.BecameActive и TApplicationEvent.EnteredBackground:
P.S. Delphi Cookbook 270 стр.
//uses System.Messaging.pas TPlatformServices.Current.SupportsPlatformService(IFMXLoggingService, IInterface(FLoggingService)); FSubscrID := TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage, procedure(const Sender: TObject; const Msg: TMessage) var AppEvent: TApplicationEventMessage; begin AppEvent := TApplicationEventMessage(Msg); case AppEvent.Value.Event of TApplicationEvent.FinishedLaunching: LogEvent('App Finished Launching'); TApplicationEvent.BecameActive: LogEvent('App Became Active'); TApplicationEvent.WillBecomeInactive: LogEvent('App Will Become Inactive'); TApplicationEvent.EnteredBackground: LogEvent('App Entered Background'); TApplicationEvent.WillBecomeForeground: LogEvent('App Will Become Foreground'); TApplicationEvent.WillTerminate: LogEvent('App Will Terminate'); TApplicationEvent.LowMemory: LogEvent('App Low Memory'); TApplicationEvent.TimeChange: LogEvent('App Time Change'); TApplicationEvent.OpenURL: LogEvent('App Open URL'); end; end);
-
Не обязательно видеть телефон что-бы скомпилировать IPA файл, IPA соберёт 32 и 64 бита, поэтому будьте внимательны, все таки стоит сперва скомпилировать и под 32 бита и 64 для проверки, например в Deploy 32 бита я забыл добавить шрифты, сформировал IPA, на 64 бита все отлично, а вот на 32 не было FontAwesome.
-
14 часа назад, asviridenkov сказал:
HTML Editor Library умеет, но дорого.
Ну вот сделали бы, скидку участникам форума)
-
13 часа назад, master webs сказал:
после пары литров пива FCM сдался завтра постараюсь написать подробный мануал ))
Будем ждать..
-
-
-
TAndroidHelper.Activity.moveTaskToBack(true); отправляет приложение в фон, где оно продолжает работать. и при повторном открытие открывается программа так как будто она и не закрывалась.
-
Желательно бы знать информацию об устройстве
Следование панели меню за пальцем
в Жесты
Опубликовано
Вы не знаете о существовании TMultiView ? Или я что-то не до понял