Android 向MediaController按钮添加其他方法
我有一个视频视图,可以播放视频,我打电话给Android 向MediaController按钮添加其他方法,android,Android,我有一个视频视图,可以播放视频,我打电话给 videoPlayer.setMediaController(新的MediaController(本)) 显示媒体控制器按钮(播放、暂停、前进、后退)。 问题是,当我单击MediaController的“播放”或“暂停”按钮时,如何添加其他方法 这是我的班级: public class VideoPlayer extends Activity implements OnCompletionListener { private String fi
videoPlayer.setMediaController(新的MediaController(本))代码>
显示媒体控制器按钮(播放、暂停、前进、后退)。
问题是,当我单击MediaController的“播放”或“暂停”按钮时,如何添加其他方法
这是我的班级:
public class VideoPlayer extends Activity implements OnCompletionListener {
private String filename;
private VideoView videoPlayer;
private MediaPlayer mediaplayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.video_player);
System.gc();
Intent i = getIntent();
Bundle extras = i.getExtras();
filename = extras.getString("video_url");
System.out.println(filename);
videoPlayer = (VideoView) findViewById(R.id.videoPlayer);
videoPlayer.setOnCompletionListener(this);
videoPlayer.setKeepScreenOn(true);
videoPlayer.setVideoPath(filename);
videoPlayer.setMediaController(new MediaController(this));
videoPlayer.requestFocus();
videoPlayer.start();
mediaplayer = new MediaPlayer();
mediaplayer = MediaPlayer.create(
this,
Uri.parse("android.resource://" + getPackageName() + "/"
+ R.raw.alo));
mediaplayer.start();
}
/** This callback will be invoked when the file is finished playing */
@Override
public void onCompletion(MediaPlayer mp) {
// Statements to be executed when the video finishes.
this.finish();
}
/** Use screen touches to toggle the video between playing and paused. */
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (videoPlayer.isPlaying()) {
videoPlayer.pause();
mediaplayer.pause();
} else {
videoPlayer.start();
mediaplayer.start();
}
return true;
} else {
return false;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
我不确定你想达到什么目的。
您可以使用MediaController扩展一个类,并实现您自己的一些方法。基本OO原则
private class MyMediaController extends MediaController {
@Override
public boolean onTouchEvent(MotionEvent event) {
// Your logic here
return super.onTouchEvent(event);
}
}
如何调用“播放/暂停”按钮而不是仅播放或暂停视频?您覆盖了实现其他操作的方法。是的,以及如何执行??你知道吗?你想覆盖什么方法?我已经说过了,点击mediacontroller的播放/暂停按钮时的触摸事件