我正在嘗試創建允許用戶保存是否需要聲音或不(CheckBox)的遊戲設置。AndEngine - 停止所有聲音和音樂運行時 - 更改引擎的AudioOptions
當用戶取消選中它時,我想禁用所有更多的聲音。
這就是我甚至做
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsSound(false);
mActivity.getEngine().getEngineOptions().getAudioOptions().setNeedsMusic(false);
聲音仍然起着後做
// 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();
。
我怎樣才能禁用每一個聲音?
或者,我也要做這樣的:
if(mSettingPreferences.getBoolean("isSoundEnabled", false)){
pMySound.play();
}
對於我的應用程序每一個聲音?
工作! :D 使聲音和音樂再次我應該設置setMasterVolume(1); 對不對? – 2013-04-11 09:50:14
我猜想最大值是1.0,因爲它是一個浮點數,但我不完全確定。 – Michael 2013-04-11 09:52:49
請注意,如果您想降低功耗,您最好暫停/停止所有音樂/聲音,而不是將音量設置爲0. – Michael 2013-04-11 09:54:14