4

MediaController を使用して音楽を再生しようとしています。「戻る」ボタンが押されるまで MediaController を表示したい。今、私は以下のコードを試しました:

MediaController mediaController = new MediaController(this){
@Override
public void setMediaPlayer(MediaPlayerControl player) {
super.setMediaPlayer(player);
this.show();
}
@Override
public void show(int timeout) {
super.show(0);
}
//instead of press twice with press once "back" button to back
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
Activity a = (Activity)getContext();
a.finish();
}
return true;
}
}; 

ただし、MediaController が表示されている間は、まだ 1 つの問題があります。MediaController が表示されると、画面にタッチすると、MediaController が非表示になります。私はすでに以下のコードを試しています:

@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("screen","touch");
return true;
}

しかし、うまくいきませんでした。文字列が Logcat に表示されませんでした。誰でもそれを行う考えがありますか?

4

2 に答える 2

13

メディア コントローラー内でもこのメソッドをオーバーライドする

@Override
            public void hide() {
                // TODO Auto-generated method stub
                super.show();
            }
于 2011-12-15T06:33:26.827 に答える