我使用以下代码在按下按钮时播放随机声音,但它显示了一个我无法解决的错误。有人能帮忙吗:
Button myButton = (Button)findViewById(R.id.button1);
final List<Integer> soundList = new ArrayList<Integer>();
soundList.add(R.raw.sound);
soundList.add(R.raw.sound1);
soundList.add(R.raw.sound2);
soundList.add(R.raw.sound3);
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
playRandomSound();
}
private void playRandomSound() {
// TODO Auto-generated method stub
int randomInt = (new Random().nextInt(soundList.size()));
int sound = soundList.get(randomInt);
MediaPlayer mp = MediaPlayer.create(this, sound);
mp.start();
}
});
错误:The method create(Context, int) in the type MediaPlayer is not applicable for the arguments (new View.OnClickListener(){}, int)
类型MediaPlayer中的方法create(Context,int)不是适用于参数(new View.OnClickListener(){},int)
将Activity
上下文作为第一个参数传递给create
方法,如下所示:
MediaPlayer mp = MediaPlayer.create(myButton.getContext(), sound);
您可以使用它
final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);
其中"this"是您活动的实例。然后在按钮的onCLickListener中调用
mp.start();