点击时,MediaPlayer出现错误,所有音频都被播放。

huangapple go评论105阅读模式
英文:

onClick MediaPlayer error all audios are played

问题

当我点击卡片查看器以播放声音时,所有的音频都会同时播放,我只想点击一个卡片查看器,然后与该音频对应。

  1. @Override
  2. public void onClick(View v) {
  3. final MediaPlayer sonidoGato = MediaPlayer.create(Juego3Activity.this, R.raw.gato);
  4. final MediaPlayer sonidoPerro = MediaPlayer.create(Juego3Activity.this, R.raw.perro);
  5. final MediaPlayer sonidoPez = MediaPlayer.create(Juego3Activity.this, R.raw.pez);
  6. final MediaPlayer sonidoPanda = MediaPlayer.create(Juego3Activity.this, R.raw.panda);
  7. final MediaPlayer sonidoConejo = MediaPlayer.create(Juego3Activity.this, R.raw.conejo);
  8. final MediaPlayer sonidoHamster = MediaPlayer.create(Juego3Activity.this, R.raw.hamster);
  9. switch (v.getId()){
  10. case R.id.cardGato: sonidoGato.start(); break;
  11. case R.id.cardPerro: sonidoPerro.start(); break;
  12. case R.id.cardPez: sonidoPez.start(); break;
  13. case R.id.cardPanda: sonidoPanda.start(); break;
  14. case R.id.cardConejo: sonidoConejo.start(); break;
  15. case R.id.cardHamster: sonidoHamster.start(); break;
  16. }
  17. }
英文:

When i click a cardviewer to play a sound, all audios play at the same time, and i just want to click one cardviewer and correspond with that audio

  1. @Override
  2. public void onClick(View v) {
  3. final MediaPlayer sonidoGato = MediaPlayer.create(Juego3Activity.this, R.raw.gato);
  4. final MediaPlayer sonidoPerro = MediaPlayer.create(Juego3Activity.this, R.raw.perro);
  5. final MediaPlayer sonidoPez = MediaPlayer.create(Juego3Activity.this, R.raw.pez);
  6. final MediaPlayer sonidoPanda = MediaPlayer.create(Juego3Activity.this, R.raw.panda);
  7. final MediaPlayer sonidoConejo = MediaPlayer.create(Juego3Activity.this, R.raw.conejo);
  8. final MediaPlayer sonidoHamster = MediaPlayer.create(Juego3Activity.this, R.raw.hamster);
  9. switch (v.getId()){
  10. case R.id.cardGato : sonidoGato.start() ;
  11. case R.id.cardPerro : sonidoPerro.start();
  12. case R.id.cardPez : sonidoPez.start();
  13. case R.id.cardPanda : sonidoPanda.start();
  14. case R.id.cardConejo : sonidoConejo.start();
  15. case R.id.cardHamster : sonidoHamster.start();
  16. }

答案1

得分: 0

这里是关于如何使用 Switch 语句 的一些小帮助:

你忘记在每个 "case" 后使用 "break;"。

  1. switch (v.getId()) {
  2. case R.id.cardGato:
  3. sonidoGato.start();
  4. break;
  5. case R.id.cardPerro:
  6. sonidoPerro.start();
  7. break;
  8. case R.id.cardPez:
  9. sonidoPez.start();
  10. break;
  11. case R.id.cardPanda:
  12. sonidoPanda.start();
  13. break;
  14. case R.id.cardConejo:
  15. sonidoConejo.start();
  16. break;
  17. case R.id.cardHamster:
  18. sonidoHamster.start();
  19. break;
  20. }
英文:

Here is a little help on how to use
Switch statement:

You forgot to use "break;" on each "case".

  1. switch (v.getId()){
  2. case R.id.cardGato : sonidoGato.start() ;
  3. break;
  4. case R.id.cardPerro : sonidoPerro.start();
  5. break;
  6. case R.id.cardPez : sonidoPez.start();
  7. break;
  8. case R.id.cardPanda : sonidoPanda.start();
  9. break;
  10. case R.id.cardConejo : sonidoConejo.start();
  11. break;
  12. case R.id.cardHamster : sonidoHamster.start();
  13. break;
  14. }

huangapple
  • 本文由 发表于 2020年5月3日 18:36:34
  • 转载请务必保留本文链接:https://go.coder-hub.com/61573048.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定