一、说明
VideoView是一个Android平台上的视屏播放组件,它封装了MediaPlayer、SurfaceView等类,提供了比较简单的视频播放控制功能。通过VideoView,可以实现在线视频播放、本地视频播放等。
VideoView提供了一些常用的视频播放控制函数,如play()、pause()等,同时也可以设置一些显示属性,如大小、位置等。
二、实现步骤
1、将VideoView控件放到布局文件中
在layout文件夹下的布局文件中添加VideoView控件,例如:
    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
2、设置MediaController控制器
MediaController是一个包含常规播放控件的对象,例如播放、暂停、快进、后退等。要显示一个MediaController对象,需要将其附加到VideoView中。在代码中,调用setMediaController()方法将其附加到VideoView中:
    MediaController mediaController = new MediaController(this);
    videoView.setMediaController(mediaController);
    mediaController.setAnchorView(videoView);
3、加载视频
加载视频需要设置视频的路径,可以是本地路径或者网络路径,通过调用setVideoPath()方法来设置:
    String videoPath = "http://www.example.com/sample.mp4";
    videoView.setVideoPath(videoPath);
4、播放视频
调用start()方法开始播放视频:
    videoView.start();
5、监听视频状态
可以为VideoView添加一个OnCompletionListener监听器,该监听器可以在视频播放完成后执行一些操作。例如:
    videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mediaPlayer) {
            //播放完成后的操作
        }
    });
三、示例代码
以下是一个基本的VideoView的实现,包括加载本地视频、网络视频、添加MediaController、添加监听器。
public class MainActivity extends AppCompatActivity {
    private VideoView videoView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取VideoView对象
        videoView = findViewById(R.id.videoView);
        //从资源文件加载本地视频
        String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.sample;
        //从网络加载视频
        //String videoPath = "http://www.example.com/sample.mp4";
        //设置视频路径
        videoView.setVideoPath(videoPath);
        //添加MediaController
        MediaController mediaController = new MediaController(this);
        videoView.setMediaController(mediaController);
        mediaController.setAnchorView(videoView);
        //开始播放视频
        videoView.start();
        //添加视频播放完成后的监听器
        videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                //播放完成后的操作
            }
        });
    }
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/246735.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 