VideoView可以播放应用程序数据目录中的mp4文件



将mp4文件保存到/data/data/mypackage/filess/my.mp4时,调用VideoView的setVideoPath();它不能工作。

对于同一个文件,如果我将文件保存到/mnt/sdcard/my.mp4,然后调用同一个VideoView的setVideoPath,它就会正确播放。

有什么方法可以在/data/data/mypackage/filess/下播放mp4文件吗?

MPVideoView使用的本地播放器无法访问非世界可读文件

所以你必须选择基本上:

1) 使创建的文件具有全世界可读性

2) 打开程序中文件的输入流,然后将文件描述符交给媒体播放器:

FileInputStream fi = new FileInputStream(file);
MediaPlayer pl = new MediaPlayer();
pl.setDataSource(fi.getFD());
pl.prepare();
pl.start();

另请查看此线程VideoView/MediaPlayer不从内部存储播放视频并从这里找到自定义VideoView类代码还请查看此SO问题视频视图可以播放存储在内部存储上的视频吗?

最新更新