VideoView - MediaController 未显示
Posted
技术标签:
【中文标题】VideoView - MediaController 未显示【英文标题】:VideoView - MediaController not showing up 【发布时间】:2014-04-10 13:04:30 【问题描述】:我无法让它工作...每当我触摸我的视频时,什么都没有发生...尽管我认为 MediaController 应该是可见的...
我目前使用以下功能来播放我的视频:
private void playCachedVideo(final VideoView videoView, final Context c, File f)
//videoView.setZOrderOnTop(true);
videoView.setOnPreparedListener(new OnPreparedListener()
@Override
public void onPrepared(MediaPlayer mp)
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener()
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height)
MediaController mediaController = new MediaController(c);
mediaController.setMediaPlayer(videoView);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
);
);
videoView.setVideoURI(Uri.fromFile(f));
videoView.start();
视频播放正常,但我无法让任何 MediaController 显示...
PS:我在DialogFragment
中显示播放器
【问题讨论】:
我也有同样的问题,使用 Activity 时可以正常工作,但不能使用 DialogFragment 【参考方案1】:试试这个:
mMediaController = new MediaController(getActivity());
将c
替换为getActivity()
。
【讨论】:
【参考方案2】:您需要将控制器附加到 VideoView,然后在 onPrepared() 回调中调用 mediaController.show(timeInMillisec)。 这会在 videoview 的触摸上显示控制器,并在指定的 timeInMillisec 后隐藏控制器。
public class VideoViewActivity extends Activity implements MediaPlayer.OnPreparedListener
private VideoView mVideoView = null;
MediaController mediaController = null;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview_layout);
mVideoView = (VideoView) findViewById(R.id.VideoView);
mVideoView.setOnPreparedListener(this);
mediaController = new MediaController(mVideoView.getContext());
mediaController.setMediaPlayer(mVideoView);
mediaController.setAnchorView(mVideoView);
mVideoView.setMediaController(mediaController);
mVideoView.setVideoPath("URL");
@Override
public void onPrepared(MediaPlayer mp)
mVideoView.start();
mediaController.show(2000);
【讨论】:
以上是关于VideoView - MediaController 未显示的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中将一个 VideoView 放在另一个 VideoView 下方?