Как НЕ воспроизводить звуки, когда телефон отключен? - PullRequest
0 голосов
/ 15 апреля 2020

Я создаю приложение, использующее объект MediaPlayer для воспроизведения звука каждый раз, когда вызывается функция. Тем не менее, этот звук играет, даже если телефон отключен. Как я могу избежать этого?

Это в основном код, который у меня есть

private lateinit var mediaPlayer: MediaPlayer

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        mediaPlayer = MediaPlayer.create(this, R.raw.bruh)
        ...
}

private fun getRandomAnswer(){
        ...
        mediaPlayer.start()

}

1 Ответ

0 голосов
/ 15 апреля 2020

В вашем методе проверьте, находится ли телефон в беззвучном режиме по коду AudioManager, и вы можете установить громкость на 0, если он находится в вибрирующем или беззвучном режиме,

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

switch (am.getRingerMode()) {
  case AudioManager.RINGER_MODE_SILENT:
    //Silent mode set media volume to 0 if playing
    mediaPlayer setVolume(0,0);
    break;
  case AudioManager.RINGER_MODE_VIBRATE:
    //vibrate mode set media volume to 0 if playing
    mediaPlayer.setVolume(0,0);
    break;
  case AudioManager.RINGER_MODE_NORMAL:
    //normal mode
    mediaPlayer.setVolume(1,1);
    break;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...