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

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

onClick MediaPlayer error all audios are played

问题

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

@Override
public void onClick(View v) {

    final MediaPlayer sonidoGato = MediaPlayer.create(Juego3Activity.this, R.raw.gato);
    final MediaPlayer sonidoPerro = MediaPlayer.create(Juego3Activity.this, R.raw.perro);
    final MediaPlayer sonidoPez = MediaPlayer.create(Juego3Activity.this, R.raw.pez);
    final MediaPlayer sonidoPanda = MediaPlayer.create(Juego3Activity.this, R.raw.panda);
    final MediaPlayer sonidoConejo = MediaPlayer.create(Juego3Activity.this, R.raw.conejo);
    final MediaPlayer sonidoHamster = MediaPlayer.create(Juego3Activity.this, R.raw.hamster);

    switch (v.getId()){
        case R.id.cardGato: sonidoGato.start(); break;
        case R.id.cardPerro: sonidoPerro.start(); break;
        case R.id.cardPez: sonidoPez.start(); break;
        case R.id.cardPanda: sonidoPanda.start(); break;
        case R.id.cardConejo: sonidoConejo.start(); break;
        case R.id.cardHamster: sonidoHamster.start(); break;
    }
}
英文:

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

@Override
public void onClick(View v) {

    final MediaPlayer sonidoGato = MediaPlayer.create(Juego3Activity.this, R.raw.gato);
    final MediaPlayer sonidoPerro = MediaPlayer.create(Juego3Activity.this, R.raw.perro);
    final MediaPlayer sonidoPez = MediaPlayer.create(Juego3Activity.this, R.raw.pez);
    final MediaPlayer sonidoPanda = MediaPlayer.create(Juego3Activity.this, R.raw.panda);
    final MediaPlayer sonidoConejo = MediaPlayer.create(Juego3Activity.this, R.raw.conejo);
    final MediaPlayer sonidoHamster = MediaPlayer.create(Juego3Activity.this, R.raw.hamster);

    switch (v.getId()){
        case R.id.cardGato : sonidoGato.start() ;
        case R.id.cardPerro : sonidoPerro.start();
        case R.id.cardPez : sonidoPez.start();
        case R.id.cardPanda : sonidoPanda.start();
        case R.id.cardConejo : sonidoConejo.start();
        case R.id.cardHamster : sonidoHamster.start();
    }

答案1

得分: 0

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

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

switch (v.getId()) {
    case R.id.cardGato:
        sonidoGato.start();
        break;
    case R.id.cardPerro:
        sonidoPerro.start();
        break;
    case R.id.cardPez:
        sonidoPez.start();
        break;
    case R.id.cardPanda:
        sonidoPanda.start();
        break;
    case R.id.cardConejo:
        sonidoConejo.start();
        break;
    case R.id.cardHamster:
        sonidoHamster.start();
        break;
}
英文:

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

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

switch (v.getId()){
    case R.id.cardGato : sonidoGato.start() ;
                         break;
    case R.id.cardPerro : sonidoPerro.start();
                          break;
    case R.id.cardPez : sonidoPez.start();
                        break;
    case R.id.cardPanda : sonidoPanda.start();
                         break;
    case R.id.cardConejo : sonidoConejo.start();
                           break;
    case R.id.cardHamster : sonidoHamster.start();
                            break;
}

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:

确定