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

Как включить/выключить звук у MediaPlayer?


dammit

Вопрос

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

Приложение для Android.

Воспроизведение mp3 реализовано с помощью компонента TMediaPlayer следующим образом:

procedure TForm1.operandButton1Click(Sender: TObject);
begin
//...

  if correctAnswer then begin
    MediaPlayer1.FileName:= System.IOUtils.TPath.GetDocumentsPath+PathDelim+'CorrectAnswer.mp3';
    MediaPlayer1.Play;  //  проиграем звук
  end;

//...

Хочу сделать возможность отключения звука в приложении, т.е. грубо говоря сделана кнопка, нажав на которую, необходимо отключить звук. Также есть вторая кнопка для включения звука.

Подскажите, какие методы TMediaPlayera необходимо использовать для этого?

Спасибо.

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

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

Есть))

Но не работает! К примеру, на Image, который выключает звук, такой код:

procedure TForm1.volumeOffImageClick(Sender: TObject);
begin
    MediaPlayer1.Volume:= 0;
end;

После нажатия на такой Image звук все равно есть...

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

Равиль, да, HitTest:= true;

Пробовал добавить в обработчик нажатия на volumeOffImage другие действия - все отрабатывает.

Даже не знаю, что за косяк... Может быть, когда я записываю в MediaPlayer1.FileName какую нибудь строку, то автоматически Volume включается?

К примеру, после этой строки:

MediaPlayer1.FileName:= System.IOUtils.TPath.GetDocumentsPath+PathDelim+'CorrectAnswer.mp3';

  • 0
Опубликовано (изменено)

Попробовал поработать с нативным медиаплеером Android - TJMediaPlayer.

var Player: JMediaPlayer;

...

Player:=TJMediaPlayer.Create;

Player.setVolume(0,0);

...

Но один хрен - звук не выключается =)

 

Изменено пользователем dammit
  • 0
Опубликовано
В 08.03.2017 в 16:33, dammit сказал:

Равиль, да, HitTest:= true;

Пробовал добавить в обработчик нажатия на volumeOffImage другие действия - все отрабатывает.

Даже не знаю, что за косяк... Может быть, когда я записываю в MediaPlayer1.FileName какую нибудь строку, то автоматически Volume включается?

К примеру, после этой строки:

MediaPlayer1.FileName:= System.IOUtils.TPath.GetDocumentsPath+PathDelim+'CorrectAnswer.mp3';

Вообще да, нужно после каждого открытия файла ставить в 0 громкость. Плеер берёт из файла максимальную громкость.

MediaPlayer1.FileName:=file_;

MediaPlayer1.Volume :=0;

MediaPlayer1.Play;

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

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

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

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

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

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

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

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