我正在使用 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");
但它不起作用,视频 View 在尝试播放视频时发送错误。
只要精确一点,文件本身就可以很好地下载(两种方式),因为我使用 SD 卡和文件系统进行了检查(它的大小没问题)。这似乎是给定的路径错误。
有什么想法吗?
谢谢
最佳答案
如果要播放应用程序内部存储中的视频,请使用以下代码行:
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);
这一定会对你有所帮助。
关于安卓 : Play a video from a private application file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7746973/