2

我想使用以下代码从 android 缓存文件夹播放视频文件:

String cacheDir = getApplicationContext().getCacheDir().getAbsolutePath();
File outFile = new File(cacheDir, "intro.mp4");
vvIntro.setVideoPath(cacheDir+"/intro");
vvIntro.start();

但我得到了错误:

07-05 20:14:21.896: E/MediaPlayer(1251): error (1, -2147483648)
07-05 20:14:21.928: I/Choreographer(1251): Skipped 79 frames!  The application may be doing too much work on its main thread.
07-05 20:14:22.186: D/gralloc_goldfish(1251): Emulator without GPU emulation detected.
07-05 20:14:22.496: E/MediaPlayer(1251): Error (1,-2147483648)
07-05 20:14:22.496: D/VideoView(1251): Error: 1,-2147483648

文件已经存在的地方和所需的柿子如下所示: 在此处输入图像描述

4

3 回答 3

3

您创建一个File指向 MP4 文件的对象,然后完全忽略该File对象并提供一个无效的vvIntro. 相反,请尝试:

File outFile = new File(getCacheDir(), "yourVideoName.mp4");
vvIntro.setVideoPath(outFile.getAbsolutePath());
vvIntro.start();

看看是否有帮助。

于 2013-07-05T20:28:20.540 回答
1

您可以使用我的简单库AndroidVideoCache。它允许同时流式传输和缓存视频。

于 2015-05-11T15:42:56.453 回答
0

你可以设置 Uri :

Uri uri = Uri.parse(getApplicationContext().getCacheDir()+"/video.mp4") ;
videoView.setVideoURI(uri);
videoView.start();
于 2019-06-20T08:24:00.370 回答