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

mantas

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Достижения mantas

  1. Перевод кода на Delphi: procedure TMainForm.PlayVideo(AFileName: String); var EXE: String; PackageName: JString; activityManager: JActivityManager; Intent: JIntent; Data: Jnet_Uri; begin try //MX player: https://sites.google.com/site/mxvpen/api PackageName := StringToJString('com.mxtech.videoplayer.ad'); activityManager := TJActivityManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE)); activityManager.killBackgroundProcesses(PackageName); // <<-- requires entitlement enabled in project settings EXE := System.Ioutils.TPath.GetExtension(AFileName); Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW); Data := StrToJURI('file://' + AFileName); Intent.setDataAndType(Data, StringToJString('video/' + EXE)); Intent.setPackage(PackageName); Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP or TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK or TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY); //SharedActivity().startActivity(Intent); SharedActivity.startActivity(Intent); except // on E: Exception do ErrorDialog(E.Message, E.HelpContext); Application.Terminate(); end; end; Не забудьте добавить в файл манифеста:
  2. Столкнулся с такой же проблемой. Использую «RAD Studio 10 Seattle». Каждый раз, когда у TMediaPlayer задаешь новый FileName, идёт утечка памяти – это баг Firemonkey. Скорее всего, ошибка находится в файле «FMX.Media.pas». Как исправить эту ошибку? Что и как исправлять в файле «FMX.Media.pas»? Проверил на «RAD Studio 10.2 Tokyo» - проблема утечки памяти тоже присутствует. Просто в цикле задаешь новый (или даже тот же самый) TMediaPlayer.FileName, и каждый раз идёт утечка памяти, и очень скоро программа падает из-за недостатка памяти. Функция TMediaPlayer.Clear не помогает, ибо память не освобождается. Из-за этого бага TMediaPlayer является неработоспособным и TMediaPlayer просто невозможно использовать в реальных проектах. Как решить эту проблему?
×
×
  • Создать...