package com.example.sound;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.b1);
b1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
sound();
}
});
}
public void sound()
{
MediaPlayer mp = MediaPlayer.create(this,R.raw.mesa);
mp.start();
}
}
现在,当我在播放音频时按下按钮时,第二个音频会打开并与第一个音频重叠。
如果我向按钮发送垃圾邮件,将会有很多音频相互重叠。
我只希望一次播放一个音频。如果再次按下按钮,则第一个音频应停止播放。
我该怎么做?我看过其他一些相关的帖子,但无济于事。
答案 0 :(得分:0)
featured trending
似乎就像每次用户单击按钮时都在创建MediaPlayer的新实例一样,这就是为什么您听到多种声音的原因。您应该创建一个MediaPlayer的全局实例,然后在onClick方法中停止已播放的音频并开始一个新的音频。