播放网络视频的代码如下:
videoView = (VideoView) findViewById(R.id.videoview);
videoView.setVideoURI(Uri.parse("http://f3.3g.56.com/15/15/JGfMspPbHtzoqpzseFTPGUsKCEqMXFTW_smooth.3gp"));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.start();
播放当前工程中的视频的代码:
videoView.setVideoURI(Uri.parse("android.resource://com.telecom.activities/"+R.raw.video));
注:com.telecom.activities是类的package name,R.raw.video是视频的文件名,视频放在res下的raw文件夹下了,会自动在R.java中生成。android中文件名有要求,必须是有效的文件名,包括小写字母和数字,其余的都不行,注意!
播放sd卡或者手机内存中的视频的代码:
添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
查询权限:
if(ContextCompat.checkSelfPermission(VideoTestActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(VideoTestActivity.this,new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}else{
initVideoPath();
}
获取权限:
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case 1:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
initVideoPath();
}else{
Toast.makeText(this,"拒绝权限将无法使用程序",Toast.LENGTH_SHORT).show();
finish();
}
break;
default:
}
初始化视频路径,需要在手机SD卡根目录添加一个 video.mp4 视频
法1:
String videoUrl1 = Environment.getExternalStorageDirectory().getPath()+"/video.mp4" ;
Uri uri = Uri.parse( videoUrl1 );
videoView.setVideoURI(uri);
法2:
File file = new File(Environment.getExternalStorageDirectory(),"video.mp4");
videoView.setVideoPath(file.getPath());
法3:
videoView.setVideoURI(Uri.parse("file:///sdcard/video.mp4"));