你可以定义一个全局变量的音效发挥:
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 =) –