我已经构建了一个小应用程序,使用类AudioManager
将音乐流静音/取消静音。实际上,它在我关闭应用程序之前一直有效。即我已经静音了,我关闭了应用程序,重新启动了应用程序,并且按钮不再取消静音。我在网上搜索过,但似乎没有人遇到过这个问题。Android中的屏蔽流
这里是我的代码:
public class ControlloVolume extends Activity {
ToggleButton tb_mute;
Button btn_mute;
AudioManager mAudioManager;
boolean mute;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_controllo_volume);
tb_mute = (ToggleButton) findViewById(R.id.tb_mute);
btn_mute = (Button) findViewById(R.id.btn_mute);
mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if(mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)==0){
mute = true;
tb_mute.setChecked(mute);
}else{
mute = false;
tb_mute.setChecked(mute);
}
}
public void onButtonClicked(View view){
if(!mute){
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
tb_mute.setChecked(true);
mute = true;
}else{
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, false);
tb_mute.setChecked(false);
mute = false;
}
}
当你说“关闭”时,你的意思是说你的应用程序被销毁或放在后台?当您重新启动应用程序时,getStreamVolume是否返回0? – Michael