你可以定義一個全局變量的音效發揮:
int activeSoundEffectRawId = R.raw.defaultSound;
並與您的Soundpool的load
方法播放。
要選擇聲音播放,你可以添加另一個按鈕來啓動活性2您的xml文件:
Button btnSelectSound = (Button) findViewById (R.id.button2);
btnSelectSound.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(Activity1.this, Activity2.class), 1000);
}
});
您用請求代碼1000開始的活動結果在這裏(這個數字是很重要的肯定會改變)。
在您的活動2中,您需要邏輯來選擇您的聲音,例如「確定」按鈕來保存選擇。那OK按鈕,將選定的聲音移交給活動1:
Button btnOk = (Button) findViewById (R.id.ok);
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent returnIntent = new Intent();
returnIntent.putExtra("soundRawId", selectedSoundRawId /* <- replace this with the selected sound, like R.raw.yourSound */);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
});
之後,你可以設置在活動1選定的聲音:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000 && resultCode == Activity.RESULT_OK) {
selectedSoundRawId = data.getIntExtra("soundRawId");
}
}
非常感謝你的作品完美;但我需要使用RadioGroup來簡化對用戶的操作,只需選擇聲音並返回到Activity1 ..再次感謝您! –
@Claudenix隨着ra? – Prexx
謝謝,我想通了..done =) –