【Android从零单排系列十八】《Android视图控件——VideoView》

目录

前言

一 VideoView基本介绍

二 VideoView使用方法

三 VideoView常见属性及方法

四 VideoView简单Demo

五 总结


前言

小伙伴们,在上文中我们介绍了Android视图组件WebView,本文我们继续盘点,介绍一下视图控件的VideoView。

一 VideoView基本介绍

videoView是Android平台上用于播放视频的控件,它提供了一些常见属性和方法来控制视频的播放。

二 VideoView使用方法

  1. 在布局文件中添加VideoView:
    
    
  2. 在Java代码中使用VideoView加载和播放视频:
    import android.net.Uri;
    import android.os.Bundle;
    import android.widget.MediaController;
    import android.widget.VideoView;
    import androidx.appcompat.app.AppCompatActivity;
    
    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);
    
            // 设置视频路径(可以是本地路径或网络URL)
            String videoPath = "https://www.example.com/video.mp4";
            Uri uri = Uri.parse(videoPath);
            videoView.setVideoURI(uri);
    
            // 创建媒体控制器(MediaController)
            MediaController mediaController = new MediaController(this);
            mediaController.setAnchorView(videoView);
    
            // 关联媒体控制器
            videoView.setMediaController(mediaController);
    
            // 开始播放视频
            videoView.start();
        }
    }
    

注意:在使用VideoView时要确保已获取相关权限(如网络访问权限),并在AndroidManifest.xml文件中进行相应的声明。

三 VideoView常见属性及方法

属性:

  1. android:videoPath:指定要播放的本地视频文件路径。
  2. android:videoURI:指定要播放的视频的URI(可以是本地路径或网络URL)。
  3. android:mediaController:指定关联的媒体控制器。

方法:

  1. setVideoPath(String path):设置要播放的本地视频文件路径。
  2. setVideoURI(Uri uri):设置要播放的视频的URI(可以是本地路径或网络URL)。
  3. start():开始播放视频。
  4. pause():暂停播放视频。
  5. resume():继续播放视频(从暂停状态恢复)。
  6. stopPlayback():停止视频播放。
  7. seekTo(int msec):将视频跳转到指定的位置(以毫秒为单位)。
  8. isPlaying():检查当前是否正在播放视频。
  9. getDuration():获取视频的总时长。
  10. getCurrentPosition():获取当前视频播放的位置。
  11. setMediaController(MediaController controller):设置关联的媒体控制器。

四 VideoView简单Demo

  1. 准备视频文件: 在项目的res目录下创建raw文件夹,并将要播放的视频文件(例如video.mp4)放入该文件夹中。

  2. 在布局文件中添加VideoView:

    
    
  3. 在Java代码中加载和播放视频:
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private VideoView videoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        videoView.setMediaController(mediaController);

        videoView.start();
    }
}

五 总结

通过VideoView,你可以加载本地视频或通过网络URL播放视频。同时,你还可以创建媒体控制器(MediaController)来提供基本的视频播放控制,例如播放、暂停、快进和快退等。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/b91a70a2a1.html