媒体播放器一次发出声音

时间:2013-09-29 22:06:13

标签: android audio

我是这个编程世界的新手,我想在时间重现一个声音,是一个长动物的应用程序。

当我按下一些按钮发出一些动物的声音时(gato发出一只猫的声音) 我没有播放声音,我也尝试使用soundpool,结果相同,显然问题是我编程xD的低级问题,有人可以帮帮我吗?

public class MainActivity extends Activity {
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void presionGato(View v) {
    mp.stop();
    mp.create(this, R.raw.gato);
    mp.start();
}
public void presionLeon(View v) {
    mp.stop();
    mp.create(this, R.raw.leon);
    mp.start();
    }
public void presionPerro(View v) {
    mp.stop();
    mp = mp.create (this, R.raw.perro);
    mp.start();
}
public void presionTigre(View v) {
    mp = mp.create (this, R.raw.tigre);
    mp.start();
}
public void presionRata(View v) {
    mp = mp.create (this, R.raw.rata);
    mp.start();

}
public void presionSapo(View v) {
    mp = mp.create (this, R.raw.sapo);
    mp.start();
}
public void presionRana(View v) {
    mp = mp.create (this, R.raw.rana);
    mp.start();
}

}

2 个答案:

答案 0 :(得分:0)

我建议你学习编程并搜索它。你没有在UI上听任何东西,你怎么知道点击了哪个按钮?

首先,在onCreate上初始化UI元素和媒体播放器;

Button gatoButton = (Button) findViewById(R.id.gato);
Button leonButton = (Button) findViewById(R.id.leon);
mp = new MediaPlayer();

然后为每个按钮设置onClickListener。

gatoButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                presionGato();
            }});

leonButton.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                presionLeon();
            }});

答案 1 :(得分:0)

您可以使用

if(mp.isPlaying()){ mp.stop(); mp.release(); }

如果正在播放,它将停止播放音乐,然后您可以再次开始播放新音乐。它可以防止同时播放音乐。