Java 如何在点击按钮时快速播放声音(android)

Java 如何在点击按钮时快速播放声音(android),java,android,audio,android-studio,Java,Android,Audio,Android Studio,我试图播放一个声音,每次点击一个按钮。声音是播放的,但我每次都需要播放(就像你打字时播放的声音),问题是,我的声音并不总是播放。我想这是因为点击按钮时几乎没有延迟 new MediaPlayer sound = new MediaPlayer().create(getApplicationContext(), R.raw.sound); button.setOnTouchListener(new View.OnTouchListener() { @Override pub

我试图播放一个声音,每次点击一个按钮。声音是播放的,但我每次都需要播放(就像你打字时播放的声音),问题是,我的声音并不总是播放。我想这是因为点击按钮时几乎没有延迟

    new MediaPlayer sound = new MediaPlayer().create(getApplicationContext(), R.raw.sound);
button.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (x >= pS.getX() && x < (pS.getX() + squareS.getWidth()) &&
                y >= pS.getY() && y < (pS.getY() + squareS.getHeight())) {
            pS.setRes(pSquareOffRes);
            pS.setX(pS.getX() - squareS.getWidth());
            pS.setY(pS.getY() - squareS.getHeight());
            pS.setTouched(true);
            pS.lock(true);
            touchLimitA = System.currentTimeMillis();
            timer = 3;
            sound.start();
            break;
        }
        return false;
    }
new MediaPlayer sound=new MediaPlayer().create(getApplicationContext(),R.raw.sound);
setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
如果(x>=pS.getX()&&x<(pS.getX()+squareS.getWidth())&&
y>=pS.getY()&&y<(pS.getY()+squareS.getHeight()){
pS.setRes(pSquareOffRes);
pS.setX(pS.getX()-squareS.getWidth());
pS.setY(pS.getY()-squareS.getHeight());
pS.settouch(真);
pS.lock(真);
touchLimitA=System.currentTimeMillis();
定时器=3;
sound.start();
打破
}
返回false;
}

我很高兴你能给我提供任何建议:)。

如果你需要低延迟播放,你应该使用

@Traviss,你也可以预加载一些声音。顺便问一下,你能不能也支持我的答案?