android - 特定应用的音乐设置,如何做到这一点?
问题描述
我正在使用 AudioManager,但是当我关闭声音时,它会关闭整个系统声音,如果有任何方法可以仅关闭特定应用程序的声音。
我试过这段代码
if (VolIsMute) {
manager.setStreamMute(AudioManager.STREAM_MUSIC, false);
VolIsMute = false;
} else {
manager.setStreamMute(AudioManager.STREAM_MUSIC, true);
VolIsMute = true;
}
解决方案
我找到了一个非常简单的解决方案
这是我的代码
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();
}
}
});
推荐阅读
- docopt - 使用参数多时间但在docopt中有限制
- php - HTTP 上传到 Dropbox 并分享
- python - 使用和不使用 Python 运行 venv 命令有什么区别?
- python - apache-airflow 安装失败
- java - 对变量的更改不会保留在循环之外并且变量不会继承到其他类
- java - 当我在 JAVA 上的 Timer 中时,我可以停止计时器吗
- logistic-regression - 用于预测逻辑广义线性混合模型 (GLMM) 的置信区间
- virtual-machine - virt-install 挂起 - 虚拟机的 GPU 直通
- ios - 将用户重定向到包含电话号码的电话应用程序,而无需开始通话
- java - 身份验证firebase在注销后记住我