0

我正在使用 ontouch 侦听器来捕捉按键向上和按键向下事件。用于重复功能。我还想在按下按钮时发出咔哒声。我尝试添加一个 onClick 方法并将可点击设置为 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);
4

3 回答 3

1

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

private static AudioManager audioManager;
...
audioManager = (AudioManager) getSystemService(
   Context.AUDIO_SERVICE);
...
audioManager.playSoundEffect(AudioManager.FX_KEY_CLICK);
于 2015-04-02T21:45:32.503 回答
0

尝试这个

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

这里的

于 2015-02-25T16:28:47.913 回答
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() 将播放声音。

告诉我它是否有效。

于 2015-02-25T16:29:19.903 回答