如何修改为我的 VideoView 显示的控件?

Posted

技术标签:

【中文标题】如何修改为我的 VideoView 显示的控件?【英文标题】:How can I modify what controls show up for my VideoView? 【发布时间】:2011-07-21 01:29:30 【问题描述】:

我有一个由简单 MediaController 控制的 VideoView,我想修改它的控件。目前,它显示了一个搜索栏、快进和快退按钮以及播放/暂停。我想将其缩小为仅具有播放和暂停按钮,因为我正在播放的流或多或少是实时的。如何修改存在的控件?这是我在onCreate 中的当前代码:

this.setContentView(R.layout.videoplayer);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

this.videoView = (VideoView)this.findViewById(R.id.videoview);
this.mediaController = new MediaController(this);
this.mediaController.setAnchorView(this.videoView);

Uri uri = Uri.parse(this.getIntent().getStringExtra("uri"));

this.videoView.setMediaController(this.mediaController);
this.videoView.setVideoURI(uri);

this.videoView.setOnPreparedListener(new OnPreparedListener() 
    @Override public void onPrepared(MediaPlayer mp) 
        findViewById(R.id.video_loading_spinner).setVisibility(View.GONE);
    
);

this.videoView.setOnErrorListener(new OnErrorListener() 
    @Override public boolean onError(MediaPlayer mp, int what, int extra) 
        showDialog(VIDEO_FAILED);
        return true;
    
);

//this.videoView.setOnCompletionListener(new OnCompletionListener() 
//  @Override public void onCompletion(MediaPlayer mp) 
//      showDialog(VIDEO_COMPLETE);
//  
//);

this.videoView.start();

【问题讨论】:

【参考方案1】:

您无法修改 MediaController 中存在的控件,但您可以创建自己的控制器并使用它来代替 MediaController。我在this ancient project 中做到了。

【讨论】:

以上是关于如何修改为我的 VideoView 显示的控件?的主要内容,如果未能解决你的问题,请参考以下文章

媒体控件栏在 VideoView Android 中出现一秒钟后消失

如何在 C# 中为我的控件添加移动效果?

如何通过单击 Android 中的按钮使 VideoView 全屏显示?

有趣的安卓视频播放器(VideoView)

Videoview 在框架布局内没有全屏显示

Android:尝试通过 AsyncTask 加载 videoview 时出现 NullPointerException [重复]