Перейти к содержанию
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 пользователей онлайн

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