按钮单击和声音之间的延迟

时间:2015-10-10 20:51:40

标签: android

我不太明白为什么按钮点击和声音之间存在延迟。

以下是我的代码

    button = (Button) findViewById(R.id.playBtn);

    final MediaPlayer playButtonClick = MediaPlayer.create(this, R.raw.buttonsound);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            playButtonClick.start();

            Intent browserIntent =
                    new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
            startActivity(browserIntent);

        }
    }); 

无论如何我可以减少延迟吗?

1 个答案:

答案 0 :(得分:2)

我认为您应该考虑使用SoundPool。

    SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 100);
    HashMap<Integer, Integer> soundPoolMap soundPoolMap = new HashMap<Integer, Integer>();
    soundPoolMap.put(soundID, soundPool.load(this, R.raw.your_sound, 1));

然后你可以使用:

播放声音
soundPool.play(soundId, 1, 1, 1, 0, 0);