java - 单击按钮时如何快速播放声音(android)

标签 java android audio android-studio

我试图每次播放声音,都单击一个按钮。声音会播放,但是我需要每次播放一次(就像键入内容时播放的声音一样),问题是我的声音并不总是播放。我认为这是因为单击按钮的延迟很小。

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

我很高兴您可以提供任何建议:)。

最佳答案

如果您需要低延迟播放,则应使用SoundPool

关于java - 单击按钮时如何快速播放声音(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31411033/

相关文章:

java - 单击通知后更改类 Android

java - 在屏幕上绘制自定义字体

java - 不能@autowired 存储库。 Bean 循环引用

android - 将方向更改为 'horizontal' 不会更改 RadListView 的滚动方向吗?

android - 当焦点从 EditText 更改为 Button 时 ActionBarSherlock 操作栏消失

python - PyAudio引发缓冲区不足/溢出的异常

audio - 如何改变PCM数据流的音量(实验失败)

audio - WebRTC:非10ms音频帧可能吗?

java - 查找两次的 "NOR"

java - 当我的 Spring 应用程序运行时,它没有使用我的 TogglzConfig 文件