如何在android中随机播放按键声音?

vc6uscn9  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(223)

我想在我的应用程序上添加一个按钮。我想:当我点击按钮,随机播放声音。我输入了这些代码,但是当我运行项目模拟器时,它正在关闭

  1. public class MainActivity extends Activity {
  2. //MediaPlayer
  3. MediaPlayer mp;
  4. ImageButton soundbutton;
  5. //Sounds
  6. int[] sounds={R.raw.s1, R.raw.s2, R.raw.s3, R.raw.s4, R.raw.s5, R.raw.s6, R.raw.s7, R.raw.s8, R.raw.s9, R.raw.s10};
  7. Random r = new Random();
  8. int Low = 0;
  9. int High = 10;
  10. int rndm = r.nextInt(High-Low) + Low;
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  15. requestWindowFeature(Window.FEATURE_NO_TITLE);
  16. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
  17. setContentView(R.layout.activity_main);
  18. //MediaPlayer
  19. soundbutton = (ImageButton)this.findViewById(R.id.randomsoundbutton89);
  20. mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]);
  21. soundbutton.setOnClickListener(new View.OnClickListener() {
  22. @Override
  23. public void onClick(View v) {
  24. try {
  25. if (mp.isPlaying()) {
  26. mp.stop();
  27. mp.release();
  28. rndm = r.nextInt(High-Low) + Low;
  29. mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]);
  30. }
  31. mp.start();
  32. } catch (Exception e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. });
  37. }
  38. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题