public class MainActivity extends AppCompatActivity { MediaPlayer mp; ImageButton soundbutton; //这是添加的声音int[] sounds ={R.raw.yeet1, R.raw.yeet2, R.raw.yeet3, R.raw.yeet4, R.raw.yeet5, R.raw.yeet6, R.raw.yeet7, R.raw.yeet8, R.raw.yeet9, R.raw.yeet10, R.raw.yeet11, R.raw.yeet12, R.raw.yeet13}; Random r = new Random(); int Low = 0; int High= 13; int rndm = r.nextInt(High-Low) + Low; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//创建媒体播放器 soundbutton = (ImageButton) this.findViewById(R.id.button_view); mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]); soundbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { if (mp.isPlaying()) { mp.stop(); mp.release(); rndm = r.nextInt(High - Low) + Low; mp = MediaPlayer.create(getApplicationContext(), sounds[rndm]); } mp.start(); } catch (Exception e) { e.printStackTrace(); } }这段代码无法运行,我不确定是什么原因造成的,感谢您的帮助!
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
当mp玩的不是if块不执行。
改成这样:
@Override
public void onClick(View view) {
try {
if (mp.isPlaying()) {
mp.stop();
mp.release();
}
rndm = r.nextInt(High - Low) + Low;
mp = MediaPlayer.create(getApplicationContext(), sounds[rndm]);
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
添加回答
举报
0/150
提交
取消