VideoView与MediaPlayer?

Har*_*rry 4 android android-video-player android-mediaplayer

请告诉我为什么这适用于MediaPLayer而不是videoView?以及如何使其与视频视图一起使用?

视频从API下载并保存在我创建的文件夹中:

File mediadir = cw.getDir("tvr", Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

VideoView

final Uri uri = Uri.parse(path);
// path = /data/data/com.foo.app/tvr/video.mp4
videoView = (VideoView) findViewById(R.id.videoView);
videoView.setVisibility(View.VISIBLE);
videoView.setOnCompletionListener(this);
videoView.setVideoURI(Uri.parse(path));
videoView.start();
Run Code Online (Sandbox Code Playgroud)

错误视频对不起,此视频不能是播放器和错误(1,-2 ......)

MediaPlayer ---这个工作

FileInputStream fileInputStream = new FileInputStream(path);

 MediaPlayer pl = new MediaPlayer();
 pl.setDataSource(fileInputStream.getFD());
 pl.prepare();
 pl.start();
Run Code Online (Sandbox Code Playgroud)

pet*_*ete 6

基本原因是MODE_PRIVATE,它禁止VideoView和MediaPlayer播放非World Readable文件,除非您按原样传递FD.

这是一个更详细的解释