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

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 に答える