我正在尝试为游戏创建设置,允许用户保存是否需要声音(复选框)。
当用户取消选中它时,我想禁用所有进一步的声音。
这就是我正在做的
// Create Dialog
final SexyAlertDialog dialog = new SexyAlertDialog(mActivity,R.layout.settings,R.style.SettingDialog,false);
// Find CheckBox
final CheckBox isSoundEnabled = (CheckBox) dialog.findViewById(R.id.isSoundEnabled);
// Check SharedPreferences to get isSoundEnabled value
if(mSettingPreferences.getBoolean("isSoundEnabled", false)){
isSoundEnabled.setChecked(true);
}else{
isSoundEnabled.setChecked(false);
}
// OnCheckedChangeListener on Checkbox in AlertDialog
isSoundEnabled.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
mSettingEditor.putBoolean("isSoundEnabled", true);
mSettingEditor.commit();
// Enable Music and Sound
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsSound(true);
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsMusic(true);
Toast.makeText(mActivity, "Audio Enabled", Toast.LENGTH_LONG).show();
}else{
mSettingEditor.putBoolean("isSoundEnabled", false);
mSettingEditor.commit();
// Disable Music and Sound
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsSound(false);
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsMusic(false);
Toast.makeText(mActivity, "Audio Disabled !! ", Toast.LENGTH_LONG).show();
}
}
});
dialog.show();
即使做了之后
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsSound(false);
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsMusic(false);
声音还在播放。
如何禁用所有声音?
或者,我是否必须这样做:
if(mSettingPreferences.getBoolean("isSoundEnabled", false)){
pMySound.play();
}
对于我的应用程序中的每个声音?