每按一次按钮,重复声音

时间:2015-11-25 11:18:42

标签: android audio repeat

我正在测试Android声音实现。我有一个" imagenButton "当我推动它时,一种方法" musica()"叫做。真的很简单:

public void musica(View v) {
    img = (ImageView) findViewById(R.id.Migrunido);
    if(m.isPlaying()) {
        m.stop();
        } 
    else {
        m.start();
        }
    }

它有效,但是当我按下按钮时,声音会重复。我正在阅读很多关于线程的内容,我必须在" stop()"之前做好准备。但无法修复它。

我必须准备我的方法吗?或者问题是什么?

由于

1 个答案:

答案 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();