Ho creato una piccola app che silenzia/ripristina il flusso musicale utilizzando la classe AudioManager
. Infatti, funziona finché non chiudo l'applicazione. Ad esempio, ho disattivato l'audio, chiudo l'app, riavvio l'app e il pulsante non riattiva più lo streaming. Ho cercato in rete ma nessuno sembra aver incontrato questo problema.Flussi di muting in Android
Ecco il mio codice:
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;
}
}
Quando dici "chiudi", intendi che la tua app viene distrutta o viene semplicemente messa in secondo piano? GetStreamVolume restituisce 0 quando si riavvia l'app? – Michael