首页 > 解决方案 > 特定应用的音乐设置,如何做到这一点?

问题描述

我正在使用 AudioManager,但是当我关闭声音时,它会关闭整个系统声音,如果有任何方法可以仅关闭特定应用程序的声音。

我试过这段代码

if (VolIsMute) {
    manager.setStreamMute(AudioManager.STREAM_MUSIC, false);
    VolIsMute = false;
} else {
    manager.setStreamMute(AudioManager.STREAM_MUSIC, true);
    VolIsMute = true;
}

标签: androidandroid-audiomanager

解决方案


我找到了一个非常简单的解决方案

这是我的代码

Switch aSwitch;
Button buttonPlay;
int flag;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    aSwitch = findViewById(R.id.switch1);
    buttonPlay = findViewById(R.id.button);

    final MediaPlayer mp1 = MediaPlayer.create(this,R.raw.sample);

    aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked){
                flag = 1;
            }else{
               flag = 0;
            }
        }
    });
    buttonPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (flag == 0){
                mp1.start();
            }
        }
    });

推荐阅读