Я хочу переопределить беззвучный режим и/или громкость мультимедиа, чтобы телефон транслировал громкий звук. Я знаю, что будильник может отключить беззвучный режим. Как вы делаете это через свое приложение?
Отменить беззвучный режим и/или громкость мультимедиа
Ответы (3)
Вы спрашиваете, может ли приложение «Будильник» переопределить беззвучный режим или код может переопределить беззвучный режим?
Кодовый ответ — да, вы можете изменить настройку беззвучного режима с помощью такого кода:
AudioManager audio = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING);
int max = audio.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION);
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audio.setStreamVolume(AudioManager.STREAM_RING, max, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
У меня есть другой способ, так как ответ Тони был сработан, но что произойдет, это изменит профиль, предположим, что вы перевели свое устройство в беззвучный режим, и приложение должно воспроизводить любой звук, например сигнал будильника, тогда он изменит ваш профиль без звука на режим звонка, а затем опять нужно поставить в беззвучный режим. Я прав?
Таким образом, другое решение заключалось в том, что вы можете воспроизвести фрагмент мелодии звонка, приведенный ниже.
int volume = audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
if(volume==0)
volume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, volume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
ringtone = RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringTonePath));
if(ringtone!=null){
ringtone.setStreamType(AudioManager.STREAM_ALARM);
ringtone.play();
isRinging = true;
}
isRinging
установите как флаг, если вы хотите программно остановить воспроизведение, или вы можете проверить с помощью isPlaying() рингтона, чтобы остановить воспроизведение
пройдя через это, я не изменил текущий профиль и больше не кодировал для этого
Prey — это приложение для отслеживания телефонных звонков с открытым исходным кодом, которое делает это как один из своих функций — если вы не получите лучшего ответа могли бы взглянуть на источник, чтобы увидеть, как они это сделали.