Android Studio-Media Player:如何防止声音重叠?

时间:2020-07-29 07:15:02

标签: android-studio android-mediaplayer

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();
    }
    
}

现在,当我在播放音频时按下按钮时,第二个音频会打开并与第一个音频重叠。

如果我向按钮发送垃圾邮件,将会有很多音频相互重叠。

我只希望一次播放一个音频。如果再次按下按钮,则第一个音频应停止播放。

我该怎么做?我看过其他一些相关的帖子,但无济于事。

1 个答案:

答案 0 :(得分:0)

featured trending

似乎就像每次用户单击按钮时都在创建MediaPlayer的新实例一样,这就是为什么您听到多种声音的原因。您应该创建一个MediaPlayer的全局实例,然后在onClick方法中停止已播放的音频并开始一个新的音频。

相关问题