0

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

当我按下一些按钮时,发出一些动物的声音(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();
}

}
4

2 回答 2

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();
            }});
于 2013-09-29T23:39:35.323 回答
0

您可以使用

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

如果它正在播放它会停止音乐,然后你可以重新开始你的新音乐。它可以防止同时播放音乐。

于 2013-09-30T02:52:30.417 回答