MediaController的方法的求知

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

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");