Android: воспроизведение видео из частного файла приложения - PullRequest
1 голос
/ 13 октября 2011

Я использую 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");

Но это не работает, и просмотр видео выдает ошибку при попытке воспроизвести видео.

Просто укажите точность, сам файл хорошо загружен (в обоих направлениях), как я проверял с помощью SD-картыи файловая система (ее размер в порядке).Кажется, что этот путь неверен.

Есть идеи?

thx

1 Ответ

2 голосов
/ 24 октября 2011

Если вы хотите воспроизвести видео из внутреннего хранилища приложения, используйте следующие строки кода:

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);

Это, безусловно, поможет вам.

...