我是这个编程世界的新手,我想在时间重现一个声音,是一个长动物的应用程序。
当我按下一些按钮发出一些动物的声音时(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();
}
}
答案 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();
}
如果正在播放,它将停止播放音乐,然后您可以再次开始播放新音乐。它可以防止同时播放音乐。