m0_58847445 2021-10-26 15:14 采纳率: 0%
浏览 12

MediaController的方法的求知

怎么用MediaController实现MP4点击屏幕任何地方都可以显示进度条和返回键

  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-02-01 08:41
    关注

    MediaController是Android系统中的一个类,是一个实现了视频控制面板的组件。它可以实现播放,暂停,快进等功能。

    下面是一个在Activity中实现MediaController的代码:

    public class MainActivity extends Activity {
        private VideoView videoView;
        private MediaController mediaController;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            videoView = findViewById(R.id.videoView);
            mediaController = new MediaController(this);
            videoView.setMediaController(mediaController);
            videoView.setVideoPath("/sdcard/sample.mp4");
            videoView.start();
        }
    }
    

    如果要实现点击屏幕任意地方都可以显示进度条和返回键,可以通过重写MediaController的show()和hide()方法来实现,代码如下:

    public class CustomMediaController extends MediaController {
    
        public CustomMediaController(Context context) {
            super(context);
        }
    
        @Override
        public void show() {
            super.show();
            // 在这里实现点击屏幕任意地方都可以显示进度条和返回键的功能
        }
    
        @Override
        public void hide() {
            super.hide();
            // 在这里实现点击屏幕任意地方都可以显示进度条和返回键的功能
        }
    }
    

    然后,把自定义的MediaController设置到VideoView上:

    public class MainActivity extends Activity {
        private VideoView videoView;
        private CustomMediaController mediaController;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            videoView = findViewById(R.id.videoView);
            mediaController = new CustomMediaController(this);
            videoView.setMediaController(mediaController);
            videoView.setVideoPath("/sdcard/sample.mp4");
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月26日