目录
前言
小伙伴们,在上文中我们介绍了Android视图组件WebView,本文我们继续盘点,介绍一下视图控件的VideoView。
一 VideoView基本介绍
videoView是Android平台上用于播放视频的控件,它提供了一些常见属性和方法来控制视频的播放。
二 VideoView使用方法
- 在布局文件中添加VideoView:
- 在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常见属性及方法
属性:
- android:videoPath:指定要播放的本地视频文件路径。
- android:videoURI:指定要播放的视频的URI(可以是本地路径或网络URL)。
- android:mediaController:指定关联的媒体控制器。
方法:
- setVideoPath(String path):设置要播放的本地视频文件路径。
- setVideoURI(Uri uri):设置要播放的视频的URI(可以是本地路径或网络URL)。
- start():开始播放视频。
- pause():暂停播放视频。
- resume():继续播放视频(从暂停状态恢复)。
- stopPlayback():停止视频播放。
- seekTo(int msec):将视频跳转到指定的位置(以毫秒为单位)。
- isPlaying():检查当前是否正在播放视频。
- getDuration():获取视频的总时长。
- getCurrentPosition():获取当前视频播放的位置。
- setMediaController(MediaController controller):设置关联的媒体控制器。
四 VideoView简单Demo
-
准备视频文件: 在项目的res目录下创建raw文件夹,并将要播放的视频文件(例如video.mp4)放入该文件夹中。
-
在布局文件中添加VideoView:
- 在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://blog.csdn.net/shaoyezhangliwei/article/details/126493916