Переопределить тихий режим и / или громкость мультимедиа - PullRequest
2 голосов
/ 01 ноября 2010

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

Ответы [ 3 ]

4 голосов
/ 01 ноября 2010

Вы спрашиваете, может ли приложение «Будильник» переопределить беззвучный режим или код может переопределить беззвучный режим?

Ответ кода - да, вы можете изменить настройку беззвучного режима с помощью кода, подобного следующему:

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);
4 голосов
/ 17 марта 2012

Я получил другой способ, так как ответ Тони был сработан, но что произойдет, он изменит профиль, если вы переведете свое устройство в беззвучный режим и приложение должно воспроизводить любой звук, например, сигнал тревоги, а затем изменит ваш профиль, чтобы он замолчал на звонок режим, а затем снова нужно перевести в беззвучный режим. Я прав?

Итак, еще одно решение: вы можете сыграть здесь фрагмент мелодии, приведенный ниже

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 () мелодии, чтобы остановить воспроизведение

Проходя через это, я не изменил текущий профиль и больше никакого кода для этого

0 голосов
/ 01 ноября 2010

Prey - это приложение для отслеживания телефонных звонков с открытым исходным кодом, которое делает это как единое целое, если его функции - если вы не получите лучшего ответа, могут взглянуть на источник, чтобы увидеть, как они это сделали.

...