Android VideoView 监听播放进度

在Android开发中,我们经常需要使用VideoView来播放视频。但是有时候我们需要监听视频的播放进度,以便在特定时间点做一些操作。本文将介绍如何在Android中使用VideoView来监听视频的播放进度。

VideoView简介

VideoView是Android中用于播放视频的View组件,可以用来显示本地或在线视频。通过VideoView,我们可以方便地实现视频播放功能。

监听播放进度

要监听VideoView的播放进度,我们可以通过VideoView的setOnPreparedListener()方法来设置一个准备完成的监听器,然后在该监听器中处理播放进度的逻辑。

下面是一个简单的示例代码,演示如何监听VideoView的播放进度:

VideoView videoView = findViewById(R.id.videoView);
videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video));

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        final int duration = videoView.getDuration();

        final Handler handler = new Handler();
        handler.post(new Runnable() {
            @Override
            public void run() {
                int currentPosition = videoView.getCurrentPosition();
                float progress = (float) currentPosition / duration * 100;

                Log.d("Progress", "Current progress: " + progress + "%");

                handler.postDelayed(this, 1000); // 每隔1秒更新一次进度
            }
        });
    }
});

videoView.start();

在上面的示例中,我们首先设置了VideoView的视频资源,并通过setOnPreparedListener()方法设置了一个准备完成的监听器。在监听器中,我们使用Handler来定时获取当前播放位置和视频的总时长,然后计算出当前播放进度并打印出来。

总结

通过上述示例,我们可以实现对VideoView播放进度的监听。在实际应用中,我们可以根据播放进度来控制视频的播放和暂停,显示进度条等功能,提升用户体验。

希望本文对您有所帮助,谢谢!


编号 进度
1 20%
2 40%
3 60%
4 80%
5 100%
pie
    title 进度分布图
    "20%" : 20
    "40%" : 40
    "60%" : 60
    "80%" : 80
    "100%" : 100