2015-03-26 2 views
2

В этом коде я сделал предпочтительный флажок с ключом «музыка» в папке xml.Как играть/останавливать MediaPlayer, используя флажок в настройках?

<?xml version="1.0" encoding="utf-8"?> 
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 

    <CheckBoxPreference 
    android:title="Music" 
    android:key="music" 
    android:defaultValue="true" 
    android:summary="Check/Uncheck this to switch on/off sound" 
    /> 

    </PreferenceScreen> 

Если этот флажок установлен, тогда начнет воспроизводиться медиаплеер. Если этот флажок не установлен, он не запустится. Но музыка не останавливается сразу же после снятия флажка.

Что я хочу осуществить это, если я снимите флажок в настройках музыка должна остановить немедленно

Ниже приведен код, я написал в моем MainActivity, я также использовал этот код в OnPause() метод. Но ничего не работает.

Надеется, что вы мне помочь, ребятам .. Заранее спасибо ..

 MediaPlayer song; 
     song= MediaPlayer.create(this, R.raw.bg); 
     song.setLooping(true); 
     SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
     Boolean music=prefs.getBoolean("music", true); 
     if(music == true) 
     song.start(); 

ответ

0

Музыкальной запуске и остановок должна быть проверками/снятия галочки.

yourCheckbox.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     //is yourCheckbox checked? 
     if (((CheckBox) v).isChecked()) { 
      if(song.isPlaying()) 
       song.stop(); 
     } 
    } 
}); 
+0

Флажок находится на странице Настройки (Преферанс) не в моей странице активности. Поэтому я не могу использовать этот метод. – Ganesh

0

Если это PreferenceActivity вы можете сделать это,

music = findPreference("music"); 

music.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

@Override 
public boolean onPreferenceClick(Preference preference) { 
     //code to stop Music 
     return false; 
    } 
}); 
+0

где я должен это делать ...? В mainactivity или классе предпочтений .. ?? – Ganesh

+0

Класс предпочтений –

Смежные вопросы