布局
<VideoView
android:id="@+id/videoview"
android:layout_width="match_parent"
android:layout_marginTop="40dp"
android:layout_marginBottom="40dp"
android:layout_marginLeft="20dp"
android:layout_margin="20dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal" />
添加权限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:usesCleartextTraffic="true">
</application>
动态申请权限
if (ContextCompat.checkSelfPermission(this, Manifest.
permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, 1);
}
设置循环播放
//加载视频资源
Uri uri = Uri.parse( "android.resource://" + getApplicationContext().getPackageName() + "/" +R.raw.video);
binding.videoview.setVideoURI(uri);
binding.videoview.start();
binding.videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setLooping(true);
mediaPlayer.start();
}
});