首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VideoView - MediaController没有出现

VideoView - MediaController没有出现
EN

Stack Overflow用户
提问于 2014-04-10 13:04:30
回答 2查看 4K关注 0票数 9

我不能让它起作用..。每当我触摸我的视频,什么都不会发生.虽然,我认为MediaController应该是可见的.

我现在使用以下功能来播放我的视频:

代码语言:javascript
复制
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出现.

DialogFragment PS:我在上给玩家看

EN

回答 2

Stack Overflow用户

发布于 2016-03-09 06:36:34

试试这个:

代码语言:javascript
复制
mMediaController = new MediaController(getActivity());

c替换为getActivity()

票数 0
EN

Stack Overflow用户

发布于 2016-05-19 14:23:18

您需要将控制器附加到VideoView,然后在onPrepared()回调中调用mediaController.show(timeInMillisec)。这将显示控制器触摸视频视图,并将隐藏控制器后,指定的timeInMillisec。

代码语言:javascript
复制
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);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22988927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档