mVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp,
int width, int height) {
/*
* add media controller
*/
mc = new MediaController(MainActivity.this);
mVideoView.setMediaController(mc);
/*
* and set its position on screen
*/
mc.setAnchorView(mVideoView);
((ViewGroup) mc.getParent()).removeView(mc);
((FrameLayout) findViewById(R.id.videoViewWrapper))
.addView(mc);
mc.setVisibility(View.VISIBLE);
}
});
mVideoView.start();
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
int[] l = new int[2];
v.getLocationInWindow(l);
int x = l[0];
int y = l[1];
int w = v.getWidth();
int h = v.getHeight();
if ((int) event.getX() > x && (int) event.getX() < (x + w)
&& (int) event.getY() > y && (int) event.getY() < (y + h)) {
// touch is inside the videoview
} else {
// touch is outside the videoview
}
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return false;
}
2 回答
对话框布局如下所示,
在您的Dilalog Frgament中制作视频视图的实例,
接下来从本地设置视频uri或使用视频网址播放,之后,使用setOnPreparedListener监听器并设置媒体控制器,
我找到了一种不同的方式来实现我想要的 .
我将视频视图放在一个单独的活动中,并将清单中的活动主题设置为
并在res / values / styles.xml中添加了以下内容
接下来,我重写了onTouchEvent函数,如下所示:
其中“v”是视频视图 .