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;
        }
    });

ここで、イベントが終了し、イベントを処理できるようになったことを OS に示すために、false が返されたことがわかります。OS にタッチ イベントを処理させたくない場合は、タッチ イベントを消費したことを示す true を返します。

これが役立つことを願っています。

于 2012-09-17T18:41:04.320 に答える