我正在测试Android声音实现。我有一个" imagenButton "当我推动它时,一种方法" musica()
"叫做。真的很简单:
public void musica(View v) {
img = (ImageView) findViewById(R.id.Migrunido);
if(m.isPlaying()) {
m.stop();
}
else {
m.start();
}
}
它有效,但是当我按下按钮时,声音会重复。我正在阅读很多关于线程的内容,我必须在" stop()
"之前做好准备。但无法修复它。
我必须准备我的方法吗?或者问题是什么?
由于
答案 0 :(得分:0)
试
public static void playAudio(int id) {
mediaPlayer = MediaPlayer.create(context,id);
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
mp.release();
}
});
}else{
mediaPlayer.stop();
mediaPlayer.release();
}
}
如果这不起作用,请在开始之前尝试mediaPlayer.prepare();
。