我正在尝试为游戏创 build 置,允许用户保存您是否需要声音(复选框)。
当用户取消选中它时,我想禁用所有其他声音。
这就是我在做什么
// 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();
}
对于我的应用程序中的每个声音?
最佳答案
您可以遍历所有Music
和Sound
对象,并在它们上调用stop()
,pause()
或setVolume(0,0)
。
您还可以通过将主音量设置为0来尝试使所有声音静音:
mActivity.getEngine().getMusicManager().setMasterVolume(0);
mActivity.getEngine().getSoundManager().setMasterVolume(0);
关于android - AndEngine-停止所有声音和音乐运行时-更改引擎的AudioOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15945194/