如何将应用程序的所有声音静音?

时间:2016-04-06 04:25:04

标签: android android-activity android-mediaplayer mute

我正在创建一个仅供学习的测验应用,而且我遇到了问题。

在我的mainactivity我有一个媒体播放器。它甚至通过其他活动播放音乐,我有一个静音按钮来停止音乐。当我成功地找到正确的答案时,我也有一个声音效果(在其他活动的问题上)。但是当我按静音按钮时,我不知道如何将此SFX与背景音乐静音。任何提示? ;)

如果有办法将我的整个应用程序静音,那就太好了。我找到了一些静音的方法,但这种方式会使整个系统静音。而它的

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamMute(AudioManager.STREAM_MUSIC, false);

3 个答案:

答案 0 :(得分:0)

试试这个。它可能对你有帮助。

AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);    
manager.setStreamVolume(AudioManager.STREAM_ALARM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);

答案 1 :(得分:0)

您可以使用AudioManager.setStreamMute()。请随意使用以下代码。

    //mute audio
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
             amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
         


//unmute audio
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
             amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
         

答案 2 :(得分:0)

如果您只想将正在运行的应用声音静音,那么最好这样做:

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1); //Use your mediaplayer instance instead of this. Also maintain a single instance of mediaplayer for the entire app.
    mp.start();

静音

mp.setvolume(0,0);

<强>&安培;取消静音或全音量

mp.setvolume(0,1);

参考: http://developer.android.com/reference/android/media/MediaPlayer.html#setVolume(float,浮动)