如何使用按钮

时间:2017-11-02 20:29:25

标签: java android android-mediaplayer

我到目前为止的代码是:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void SoundPlayer(View view) {
        MediaPlayer soundMediaPlayer1 = MediaPlayer.create(this, R.raw.gun_sound);
        soundMediaPlayer1.start();
    }

    public void DogSound(View view) {
        MediaPlayer soundMediaPlayer2 = MediaPlayer.create(this, R.raw.cat_sound);
        soundMediaPlayer2.start();
    }

    public void NewSound(View view) {
        MediaPlayer soundMediaPlayer3 = MediaPlayer.create(this, R.raw.new_sound);
        soundMediaPlayer3.start();
    }

    public void LaughTrack(View view) {
        MediaPlayer soundMediaPlayer12 = MediaPlayer.create(this, R.raw.laugh_sound);
        soundMediaPlayer12.start();
    }

    public void HorseSound(View view) {
        MediaPlayer soundMediaPlayer4 = MediaPlayer.create(this, R.raw.horse_sound);
        soundMediaPlayer4.start();
    }

    public void HeySound(View view) {
        MediaPlayer soundMediaPlayer5 = MediaPlayer.create(this, R.raw.hey_sound);
        soundMediaPlayer5.start();
    }

    private void Stop() {
        startActivity(new Intent(this, MainActivity.class));
    }

    public void stop(View view) {
        Stop();
    }

}

我面临的问题是所有声音重叠并播放。我有一个STOP按钮设置,但不知道如何使它停止媒体。任何反馈都有帮助。

谢谢。

2 个答案:

答案 0 :(得分:0)

首先,我只使用一个MediaPlayer实例。然后,您可以使用mediaPlayer.stop()来停止声音并准备下一个声音。 请参阅https://developer.android.com/reference/android/media/MediaPlayer.html

上的状态图

答案 1 :(得分:0)

1)使onCreate方法中的MediaPlayer对象不会在每个新方法中创建。 2)在以另一种方法播放音乐之前,首先使用stop()函数停止当前播放的声音(如mediaPlayer.stop();)然后通过start()播放声音。