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

RapsodRF

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

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

  • Посещение

Посетители профиля

958 просмотров профиля

Достижения RapsodRF

  1. Спасибо за полезную ссылку! Но к сожалению не удалось запустить этот код
  2. RapsodRF

    Синтез речи (text-to-speech)

    Привет друзья! Помогите решить этот вопрос, Нужно прикрутить к приложению синтезатор речи. Если кто-то уже проделывал это, буду очень рад вашей помощи! Заранее спасибо! P.S. язык C++
  3. Полезная ссылка. Спасибо! Ярослав, частично подходит TThread, спасибо! А что на счёт критических секций (CRITICAL_SECTION)? Вы их используете в TThread?
  4. Всем привет! Кто уже работал с потоками в Android, поделитесь опытом. Нужно создать POSIX поток. Под виндой это делается просто: HANDLE hThr; unsigned long uThrID; //метод который запускается в новом потоке void threadMethod(void *pParams) { //... код ... } //Вызов метода в новом потоке hThr = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) threadMethod, NULL, CREATE_SUSPENDED, &uThrID); SetThreadPriority(hThr, THREAD_PRIORITY_HIGHEST); ResumeThread(hThr); А вот на Андроиде как такое организовать? Заранее благодарю за помощь!
  5. Найдено решение. Может кому-то пригодится. Вот тут представлены четыре разных алгоритма размытия http://blog.ivank.net/fastest-gaussian-blur.html Работает быстро и утечки теперь не наблюдается, то что и надо было сделать)) Так что всем спасибо! Пользуйтесь! ;-)
  6. В том-то и дело, что под виндой всё корректно, а под андроидом всё валится. Может у кого-то есть какие-то идеи, как избавиться от утечки памяти при использовании эффекта?
  7. Значение размытия: 5 Я устанавливал 0,3 и тоже через некоторое время программа съедала более 700 МБ оперативной памяти.
  8. Приблизительно через 1/2 минуты Тестил на двух девайсах: 1. Alcatel IdolX RAM 2 GB (Android 4.22) 2. Lenovo 3000 RAM 1 GB
  9. К сожалению это не помогло. Я ещё пробовал динамически создавать эффект и удалять его после использования. тоже не помогло. Возможно вы знаете как можно программно очистить память (кэш)??? Или может быть есть ещё какие-то варианты? Очень нужна ваша помощь!
  10. Здравствуйте ZuBy! Спасибо за то что решились помочь мне! Дело в том, что я не могу отказаться от использование эффекта Я решил описать проблему более детально: Допустим есть форма, на неё бросаем Image. К Image применяем эффект BlurEffect. В процессе работы программы в Image загружаются разные картинки. Проблема состоит в том, что на устройстве под управлением ОС Android, программа потребляет всё больше и больше оперативной памяти. После чего программа вылетает. Вот я собрал тестовый проект, чтобы вы могли сами протестировать и воспроизвести данную проблему утечки памяти #include <fmx.h> #pragma hdrstop #include "Unit1.h" // --------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.fmx" TForm1 *Form1; // --------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } // --------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { if (switchOn) { switchOn = false; Image3->Bitmap = Image1->Bitmap; Image4->Bitmap = Image1->Bitmap; } else { switchOn = true; Image3->Bitmap = Image2->Bitmap; Image4->Bitmap = Image2->Bitmap; } } // --------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if (Timer1->Enabled) { Timer1->Enabled = false; } else { Timer1->Enabled = true; } } // --------------------------------------------------------------------------- Буду благодарен за любую помощь! APK_File_Effect.zip Effect.zip
  11. Привет друзья! Помогите разобраться со сложившийся проблемой. К компоненту TImage применил эффект BlurEffect. После чего происходит циклическая смена изображений в TImage. И было замечено колоссальная утечка памяти. Без эффекта, утечки не наблюдается. Возможно при каждой смене изображения нужно вручную очищать кэш? Платформа Android
  12. Да, хорошая библиотека BASS, использовал её в Windows приложениях. Но под Android ради воспроизведения нескольких звуков, нету смысла тащить. Но всё же спасибо! Кстати, может кому-то понадобиться тело "таймера-абракадабры" вот представляю работающий код. Но учтите, что задержка между треками относительно большая, поскольку трек постоянно перезаписывается в память. if (MediaPlayer->State != TMediaState::Playing) { MediaPlayer->Play(); } Всем спасибо за помощь! Как вариант, можно ещё попробовать не повторно перезаписывать трек, а по окончании воспроизведения, перемотать на начало, и запустить.
  13. Может есть какое-то событие, когда завершается воспроизведение звука? Неужели, кроме этой абракадабры с таймером ничего нет?(
  14. Привет друзья! Нужна ваша помощь! Подскажите как правильно можно зациклить воспроизведение звука? Есть ли какой-то параметр в TMediaPlayer, чтобы он автоматически зацикливал воспроизведение? А то способ с таймером, который постоянно проверяет состояние плеера - это очень и очень не правильно... Заранее благодарю за любую помощь!
×
×
  • Создать...