前言
小伙伴们,在上文中我们介绍了Android视图组件WebView,本文我们继续盘点,介绍一下视图控件的VideoView。
一 VideoView基本介绍
videoView是Android平台上用于播放视频的控件,它提供了一些常见属性和方法来控制视频的播放。
二 VideoView使用方法
在布局文件中添加VideoView:
代码语言:javascript复制<VideoView
android:id="@ id/videoview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在Java代码中使用VideoView加载和播放视频:
代码语言:javascript复制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:
代码语言:javascript复制<VideoView
android:id="@ id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在Java代码中加载和播放视频:
代码语言:javascript复制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)来提供基本的视频播放控制,例如播放、暂停、快进和快退等。