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

Alex7wrt

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

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

  • Посещение

  • Победитель дней

    31

Весь контент Alex7wrt

  1. Добрый день. В FMX есть компоненты TVideoCaptureDevice и TCameraComponent. Эти компоненты имеют событие OnSampleBufferReady, которое генерирует кадры видео в битмап. Вот мне и интересно, есть ли способ добиться конвертации этих битмапов в формат для youtube или других сервисов (может быть h264) и отправки в потоке?
  2. Если вы имеете ввиду плавное появление картинки, то это делается изменением прозрачности предыдущей и следующей картинок. На вкладке анимаций есть такой эффект.
  3. Думаю, стоит перед загрузкой битмапа из Stream добавить Stream.Position:=0
  4. В iOS нужно писать StartUp\Documents. В Android assets\internal. Посмотрите, что у вас представляет собой filename. Судя по вашему коду должно быть имя файла плюс расширение.
  5. Добрый день. Хочу снять скриншот с контрола после его поворота на 90 градусов. Но метод PaintTo после поворота все равно выдает скриншот исходного (до поворота) конторла. Как можно получить изображение после поворота?
  6. Добрый день. Хочу принудительно останавливать прокрутку TListView, если его сильно "крутанули". Как это можно реализовать? Пробовал с помощью listview1.StopPropertyAnimation('listview1.ScrollViewPos'), но не работает.
  7. Добрый день. Для воспроизведения медиа файлов необходимо чтобы они физически находились на устройстве. Нужно их "задеплоить", то есть добавить в проект в project - options - deployment. А затем в программе подгрузить с помощью TMediaPlayer.FileName.
  8. А при использовании T(Net)HTTPClient нужны какие-либо действия для указания IPv6 или нет?
  9. Мое приложение Apple также отклонила с тем же сообщением о IPv6. Но насколько я понимаю, CloudFlare нужно использовать для своего хостинга, а как быть с Google? У меня приложение использует сервис Google, а все сервисы Google вроде как поддерживают IPv6 c 2012 года. Поэтому не пойму, в чем здесь ошибка. Использую TIdHTTP. Или нужно использовать TNetHTTPClient? P.S. И, если кто знает, как вообще проверить самому, решена ли в приложении проблема с IPv6, без ожидания ответа Apple каждый раз? Можно на Windows или Android? А то в инструкции Apple нужно подключить макбук не через WiFi, а у меня в макбуке нет сетевого порта... и провайдер к тому же поддерживает только IPv4...
  10. Здравствуйте. Долгое время в приложении использовал разрешение Write external storage, но хочу избавиться от лишних разрешений, в связи с чем хочу определить нужно ли оно в моем случае. Приложение периодически сохраняет данные в память устройства. Обычно использую путь tpath.GetHomePath. Поэтому возникают следующие вопросы: 1. На каких устройствах может возникнуть ситуация, когда данные не будут сохраняться при отсутствии этого разрешения? 2. Может ли такая ситуация возникнуть, если приложение устанавливается на внешнюю память? И где в таком случае будет находиться папка GetHomePath? 3. Нужно ли указывать разрешение Read external storage или оно уже включено в Write External Storage?
  11. Наверно, вряд ли кто-то интегрировал AdMob в iOS, тогда интересует как правильно подключать iOS фреймворки и потом добавлять их в uses.
  12. https://developer.apple.com/support/iad/ https://9to5mac.com/2016/01/15/apple-will-discontinue-iad-app-network-for-developers-on-june-30th/ http://internetua.com/pocsemu-novost-o-zakritii-Apple-iAd-doljna-ocsen-silno-rasstroit-Google http://www.macdigger.ru/macall/apple-obyavila-o-zakrytii-sobstvennoj-reklamnoj-seti-iad-s-30-iyunya.html
  13. Я бы не против, но с прошлого года iAD не функционирует для новых приложений, поэтому AdMob
  14. Здравствуйте. Нужен совет по интеграции баннера Admob к iOS приложению. Может быть кто-нибудь уже делал подобное? Насколько я начитался в инете по похожим запросам, нужно скачать GoogleMobileAds.framework и подключить его в Project-Options-Linking-Options passed to the LD Linker. Кроме этого фреймверка еще нужны такие: EventKit EventKitUI AVFoundation AdSupport AudioToolbox AVFoundation CoreGraphics CoreTelephony CoreMedia MessageUI StoreKit SystemConfiguration Которые подгрузил в SDK Manager. Далее в “Options passed to the LD linker” добавляю: -ObjC -LC:\Users\<user>\Documents\Embarcadero\Studio\SDKs\iPhoneOS8.3.sdk\usr\lib Frameworks\GoogleMobileAds.framework\GoogleMobileAds Frameworks\AdSupport.framework\AdSupport Frameworks\AudioToolbox.framework\AudioToolbox Frameworks\AVFoundation.framework\AVFoundation Frameworks\CoreGraphics.framework\CoreGraphics Frameworks\CoreMedia.framework\CoreMedia Frameworks\CoreTelephony.framework\CoreTelephony Frameworks\EventKit.framework\EventKit Frameworks\EventKitUI.framework\EventKitUI Frameworks\MessageUI.framework\MessageUI Frameworks\StoreKit.framework\StoreKit Frameworks\SystemConfiguration.framework\SystemConfiguration -lxml2.2 После этого во время компиляции возникает ошибка в фреймворке GoogleMobileAds.framework. Все остальные фреймворки ошибок не вызывают. Текст ошибки: [DCC Error] E2597 NYI lto::archName ld: file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (arm64): Это для версии iOS Device 64 bit. Для 32 бит ошибка та же, только в конце вместо arm64 написано armv7. Символы 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 в переводе на ACSII значат "Versions/Current" - это часть строки в файле GoogleMobileAds. Вот и не пойму как эту ошибку обойти.
  15. Еще вопрос по теме практически. Какую версию приложения - 32 или 64 бит лучше делать для App Store? И нужно ли использовать последнюю версию SDK? В справке FireMonkey сказано: iOS applications built with a given SDK version may only run on that version or later versions of iOS. For example, an application built with version 9 of the iOS SDK might crash on a device running iOS 8. Можно ли использовать SDK 10.2 или нужно 9-ю версию, чтобы на большем количестве устройств работало?
  16. Тестирую приложение на IPad через профиль 32 bit. Когда хочу протестировать через профиль 64 bit Device, то среда ругается на Provisioning. В Project Options - Provisioning в профиле 64 bit пишет "Enable to match bundle identifier", В 32 bit версии все нормально. Значит ли это, что нужны разные сертификаты для 32 и 64 бит? Но при создании сертификатов не видел такой опции. Ipad на процессоре A8, должен поддерживать 64 bit
  17. Нет, но после обновления XCode, среда установила SDK 10.2. Но ошибка та же. Нет. Приложение уже нормально работает. Только среда его не может запускать и выдает ошибку каждый раз после установки. Запускаю вручную.
  18. Спасибо за ответ XCode обновил, а где можно найти hotfix для PAServer? UPD: Ситуация немного поменялась. Обнаружил ошибку со своей стороны: забыл продеплоить нужные файлы в профиле IOS Device. Но теперь программа запускается, в течении десятой доли секунды я вижу интерфейс программы на планшете. Причем все отрисовывается так как надо. После чего вылетает. Сообщения об ошибке те же, что я писал выше. Не пойму, может тут что-то другое, может разрешений каких-нибудь не хватает как в андроиде? У меня после запуска она сразу должна лезть в интернет. Но на симуляторе ведь все работает. UPD2: Как выяснилось, вылет приложения был обусловлен внутренними особенностями программы, доставшимися в наследство от другой платформы. Однако после исправления среда все равно ругается и пишет ошибки, при этом не запуская приложение после компиляции. Вручную запускается нормально. Наверное действительно какая-то несовместимость с XCode.
  19. Здравствуйте. Дошел до тестирования iOS приложения на физическом устройстве. Сертификаты разработчика подключены. Приложение вроде как устанавливается на Ipad, потому что значок на рабочем столе планшета появляется. Но само приложение не запускается, показывается только стандартная заставка FireMonkey (заставку не менял) и приложение вылетает. При этом на симуляторе работает без ошибок. Также после завершения установки в среде появляется сообщение об ошибке: И справочная информация об ошибке "Troubleshooting: Cannot Deploy to the iOS Device" В чем может быть причина? На Ipad стоит iOS 10.2.1, на маке XCode 8.0
  20. В Delphi я делал так: procedure TForm1.FormShow(Sender: TObject); begin Bounds:=screen.Displays[Screen.DisplayCount-1].Bounds; end; Этот код выводит форму на последний монитор, на весь экран Screen.DisplayCount
  21. Можете намекнуть, как их использовать? Никогда с таким не сталкивался.
  22. В модуле iOSAPi.iAd есть такие строки: ADInterstitialAdClass = interface(NSObjectClass) ['{8C5ACE62-A5B6-4B0B-9D62-43D3CB0A8BD0}'] end; ADInterstitialAd = interface(NSObject) ['{31570147-4315-4616-8ECB-B4874008884B}'] procedure cancelAction; cdecl; function delegate: Pointer; cdecl; function isActionInProgress: Boolean; cdecl; function isLoaded: Boolean; cdecl; procedure presentFromViewController(viewController: UIViewController); cdecl; function presentInView(containerView: UIView): Boolean; cdecl; procedure setDelegate(delegate: Pointer); cdecl; end; TADInterstitialAd = class(TOCGenericImport<ADInterstitialAdClass, ADInterstitialAd>) end; ADBannerViewClass = interface(UIViewClass) ['{B072DCC4-3CBE-4C07-B8B2-0B9B81A51AD9}'] {class} function sizeFromBannerContentSizeIdentifier(contentSizeIdentifier: NSString): CGSize; cdecl; end; ADBannerView = interface(UIView) ['{2FD4C4B7-1FBE-46C0-83FD-A601B2DF980A}'] function adType: ADAdType; cdecl; function advertisingSection: NSString; cdecl; procedure cancelBannerViewAction; cdecl; function currentContentSizeIdentifier: NSString; cdecl; function delegate: Pointer; cdecl; function initWithAdType(type_: ADAdType): Pointer; cdecl; function isBannerLoaded: Boolean; cdecl; function isBannerViewActionInProgress: Boolean; cdecl; function requiredContentSizeIdentifiers: NSSet; cdecl; procedure setAdvertisingSection(advertisingSection: NSString); cdecl; procedure setCurrentContentSizeIdentifier(currentContentSizeIdentifier: NSString); cdecl; procedure setDelegate(delegate: Pointer); cdecl; procedure setRequiredContentSizeIdentifiers(requiredContentSizeIdentifiers: NSSet); cdecl; end; TADBannerView = class(TOCGenericImport<ADBannerViewClass, ADBannerView>) end; Я так понимаю, cdecl означает, что эти функции из C++. Можно ли как-то их использовать из Delphi? И есть ли у кого-нибудь такой опыт?
  23. Решил вопрос, заменив ресурсы на deployment.
×
×
  • Создать...