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

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


Kitty

Вопрос

Опубликовано

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

Можно ли вызвать стандартный звук уведомления?

Спасибо.

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

  • 0
  • Модераторы
Опубликовано

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

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

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

  • 0
Опубликовано

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

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

  • 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 пользователей онлайн

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