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

Проиграть звук


Kitty

Вопрос

Рекомендуемые сообщения

  • 0
  • Модераторы

На IOS есть баг один с воспроизведением звука...

Первое воспроизведение звука происходит с треском (через TMediaPlayer)

Самое простое найти аудио-файл и задеплоить его в проект, при инициализации формы, проиграть звук с 0 громкостью, после восстановить громкость на полную и тогда звук будет чистый

Ссылка на комментарий
  • 0
4 минуты назад, Kitty сказал:

После добавления TMediaPlayer приложение iOS iPhone 5 стало замирать при старте на заставке. Удалила TMediaPlayer проблема осталась...

Может кто сталкивался?

Должно быть нужно удалить модули, которые добавились после добавления TMediaPlayer

Попробуй удалить FMX.Media 

Изменено пользователем Rusland
Ссылка на комментарий
  • 0

Вроде бы нашлась проблема и TMediaPlayer  вроде не причем..

Мне надо при старте приложения сразу показать диалоговое окно и поэтому код выглядит так:

void CreateMyDialog(String MES)
{
 if(FormDialog == NULL)
 {
  FormDialog = new TFormDialog(0);
  FormDialog->Text1->Text = MES;
  FormDialog->ShowModal();
  if(FormDialog != NULL)
	  {
	   delete FormDialog;
	   FormDialog = NULL;
	  }
 }
}

void __fastcall TForm1::FormShow(TObject *Sender)
{
//показать другую форму-диалог которая имитирует уведомление
//если закомментировать этот код, то приложение стартует нормально
 TDateTime DataInLogTable = Now();
 String FormatDATA = FormatDateTime("dd-mm-yyyy", DataInLogTable);
 String MES = L"Для Вас " + FormatDATA + L" діє АКЦІЯ! Жми :)";
 CreateMyDialog(MES);
}

Т.е. из FormShow основного окна я пытаюсь показать окно-диалог и все умирает.

Таким образом мне при старте программы нужно сразу показать окно-диалог. Как правильно?

Получается мой вопрос трансформируется в следующее:

Как при старте программы iOS показать окно-диалог и с проигрыванием звука?

 

Изменено пользователем Kitty
Ссылка на комментарий
  • 0
  • Модераторы

попробуй использовать OnActivate, это последнее событие которое вызывается после инициализации, показа формы.

Только через флаг какой нить, типа Tag'a иначе постоянно будет выпрыгивать

Ссылка на комментарий
  • 0

ZuBy, у меня нашлось такое решение, прошу подтвердить или оно правильное или делать как Вы рекомендовали:

void __fastcall TForm1::FormShow(TObject *Sender)
{
 TimerStart->Enabled = true;
}

//таймер 1 секунда
void __fastcall TForm1::TimerStartTimer(TObject *Sender)
{
 TimerStart->Enabled = false;
 TDateTime DataInLogTable = Now();
 String FormatDATA = FormatDateTime("dd-mm-yyyy", DataInLogTable);
 String MES = L"Для Вас " + FormatDATA + L" АКЦИЯ! Жми :)";
 CreateMyDialog(MES);

}

 

Ссылка на комментарий
  • 0
  • Модераторы
4 минуты назад, Kitty сказал:

ZuBy, у меня нашлось такое решение, прошу подтвердить или оно правильное или делать как Вы рекомендовали:


void __fastcall TForm1::FormShow(TObject *Sender)
{
 TimerStart->Enabled = true;
}

//таймер 1 секунда
void __fastcall TForm1::TimerStartTimer(TObject *Sender)
{
 TimerStart->Enabled = false;
 TDateTime DataInLogTable = Now();
 String FormatDATA = FormatDateTime("dd-mm-yyyy", DataInLogTable);
 String MES = L"Для Вас " + FormatDATA + L" АКЦИЯ! Жми :)";
 CreateMyDialog(MES);

}

 

ну если вас такое устраивает, тоже имеет место быть

Изменено пользователем ZuBy
Ссылка на комментарий
  • 0

Интервал таймера по дефолту 1 секунда. Вроде все работает. Вижу диалоговое окно. Слышу аудио файл без искажений...

Но если честно, все это похоже, как пишут на форумах, на костыль... :)

Ссылка на комментарий
  • 0
  • Модераторы
37 минут назад, Kitty сказал:

А как в момент показа формы и проигрывания звука, включить вибрацию?

на айос?

тут лежат полные хидеры для Delphi (на счёт C++ незнаю где найти)

https://github.com/FMXExpress/ios-object-pascal-wrapper

AudioServicesPlayAlertSound( kSystemSoundID_Vibrate)

P.S. мы это обсуждали уже на канале в телеграмме

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...