我正在使用videoView显示我从服务器下载的视频。
如果我从SD卡播放视频,它可以正常使用:
video.setVideoPath(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.mp4");
但在我的情况下,我不希望视频从SD卡播放,而是从应用程序的内部存储器播放。在这种情况下,我找不到正确的道路...... 我认为它是这样的:
video.setVideoPath("test.mp4");
或
video.setVideoPath("file://test.mp4");
或
video.setVideoPath("data/data/com.myapp/file/test.mp4");
但它不起作用,视频视图在尝试播放视频时发送错误。
Juste精确,文件本身下载(两种方式),因为我使用SD卡和文件系统检查(其大小没问题)。这似乎是给出错误的路径。
有什么想法吗?
THX
答案 0 :(得分:2)
如果要从应用程序的内部存储器播放视频,请使用以下代码行:
MediaPlayer mMediaPlayer = new MediaPlayer();
File file = new File("data/data/com.myapp/file/test.mp4");
FileInputStream fis = new FileInputStream(file);
FileDescriptor fd = fis.getFD();
mMediaPlayer.setDataSource(fd);
这肯定会帮到你。