Android:如何制作按键式声音

时间:2015-02-25 16:23:17

标签: android onclick ontouch

我正在使用ontouch侦听器来捕获按键和按键事件。用于重复功能。按下按钮时,我还想发出咔嗒声。我尝试添加一个onClick方法并设置clickable true但是ontouchlistener似乎覆盖了onclicklistener。

如何进行按键点击声音并按照用户首选项进行点击?

更新:谢谢大家。我通过Android源找到了我的答案。在PhoneWindow.java中,我找到了一个他们正在做我需要的地方。实质上,您打开音频管理器并播放AudioManager.FX_KEY_CLICK。 AudioManager.playSoundEffect仅在适当时播放音效。

private static AudioManager audioManager;
...
audioManager = (AudioManager) getSystemService(
   Context.AUDIO_SERVICE);
...
audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);

3 个答案:

答案 0 :(得分:1)

我在编辑问题时回答了我自己的问题。我在这里回答只是为了让我对这个问题的回答更加明显。正如我在修改问题时说的那样。点击你:

private static AudioManager audioManager;
...
audioManager = (AudioManager) getSystemService(
   Context.AUDIO_SERVICE);
...
audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);

答案 1 :(得分:0)

试试这个

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        button_flip.playSoundEffect(0);
    }
});

here

答案 2 :(得分:0)

将您的声音保存在res / raw /下。假设声音名称是tap.mp3, 然后代码看起来像这样。

  MediaPlayer tap ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        tap = MediaPlayer.create(getApplicationContext(), R.raw.tap);

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

        //Playing sound.
        tap.start();
    } 
}); }

MediaPlayer的start()将播放声音。

告诉我它是否有效。