Как воспроизвести видео из кэша приложения в android
Я хочу воспроизвести видеофайл из папки кэша 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
Где файл уже существует и требуется хурма, как показано ниже :

2 ответов:
Вы создаете объект
File, указывающий на ваш файл MP4, а затем полностью игнорируете этот объектFileи предоставляете недопустимый путь к объектуvvIntro. Вместо этого попробуйте:File outFile = new File(getCacheDir(), "yourVideoName.mp4"); vvIntro.setVideoPath(outFile.getAbsolutePath()); vvIntro.start();И посмотреть, если это помогает.
Вы можете просто использовать мою простую библиотеку AndroidVideoCache . Он позволяет передавать и кэшировать видео одновременно.
Comments