2015-11-06 1 views
0

Je MUTING mon application en utilisant le code suivant:Puis-je réinitialiser le volume?

  AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM); 


     AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); 
     Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show(); 

La chose est, je veux être en mesure de unmute l'application au même volume que l'utilisateur a été à l'origine sur. En ce moment, je ne peux contrôler le volume pour réinitialiser l'utilisateur:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 4, 4); 
     Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show(); 

j'ai vu quelque part pour obtenir le volume au début, puis utilisez cette valeur plus tard pour réinitialiser. Cela ne peut pas fonctionner pour moi, puisque l'utilisateur revient constamment à l'activité, et je ne peux pas avoir cette variable unique réinitialisée.

Y at-il un moyen de réinitialiser le volume des utilisateurs à ce qu'il était avant de le changer via mon application?

Merci,

{Rich} 
+1

magasin le volume SharedPreferences. –

Répondre

0
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

    userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM); 


    AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); 
    Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show(); 

vous avez déjà fait ce que vous avez juste besoin d'effectuer les modifications suivantes dans votre code ci-dessus ..

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,userVolume, 0); 
    Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show(); //user volume you will get by getStreamVolume() 
+0

Pour une raison quelconque, cela ne fonctionne pas ... Probablement parce que userVolume est réinitialisé ou quelque chose ... D'autres idées? Merci! –

+0

Aussi, pourquoi est-ce au-dessus du toast en sourdine, ne devrait-il pas être au-dessus du pain grillé non muté? –

+0

oui il devrait être UNMUTED toast .. avez-vous essayé d'imprimer la valeur de userVolume ... et comment il se réinitialise.? – Ali786