0

嗨,当我按下按钮时,我正在使用 Soundpool Android 播放声音。我想知道按下按钮时是否可以保持这种声音播放。

4

1 回答 1

0

在这里,您需要识别触摸事件,我的意思是按下按钮时的 ACTION_DOWN 和用户抬起手指时的 ACTION_UP。您可以在 ACTION_DOWN 事件发生时开始播放声音,并在 ACTION_UP 事件发生时停止播放。
现在要在按钮上捕获这些事件,您必须在按钮上设置 onTouch 侦听器并实现它的 onTouch() 方法。onTouch() 方法是您必须捕获这些事件并播放/暂停声音的地方。

以下是如何实现按钮的 onTouch() 方法的示例:

btn.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch (View v, MotionEvent event)
        {
            switch(event.getAction() & MotionEvent.ACTION_MASK)
            {
                case MotionEvent.ACTION_DOWN:
                    //here you can start playing song
                    break;
                case MotionEvent.ACTION_UP:
                    //here you can stop playing song
                    break;
            }    
            return false;
        }
    });

在这里您可以注意到我返回了 false 以指示我已完成事件的操作系统,现在您可以处理该事件。如果您不希望操作系统处理触摸事件,则返回 true 表示您已使用触摸事件。

我希望这将有所帮助。

于 2012-09-17T18:41:04.320 回答