VideoView может воспроизводить файл mp4 в каталоге данных приложения - PullRequest
1 голос
/ 16 марта 2012

При сохранении файла mp4 в /data/data/mypackage/files/my.mp4, затем вызовите setVideoPath () VideoView; это не может работать.

Для того же файла, если я сохраню файл в /mnt/sdcard/my.mp4, а затем вызову тот же VideoView setVideoPath, он будет воспроизводиться правильно.

Есть ли способ воспроизвести файл mp4 в каталоге / data / data / mypackage / files /?

1 Ответ

4 голосов
/ 16 марта 2012

MP или VideoView использует собственный проигрыватель, который не может получить доступ к файлам, не предназначенным для чтения в мире.

Таким образом, вы должны в основном:

1) Сделать созданные файлы доступными для чтения всем пользователям

2) Открыть поток ввода для файла в вашей программе и просто передать дескриптор файла на медиаплеер:

FileInputStream fi = new FileInputStream(file);
MediaPlayer pl = new MediaPlayer();
pl.setDataSource(fi.getFD());
pl.prepare();
pl.start();

Также посмотрите на эту тему VideoView / MediaPlayer не воспроизводит видео из внутреннего хранилища И найдите Пользовательский код класса VideoView из здесь также посмотрите наэтот ТАК вопрос Может ли видеовидение воспроизводить видео, хранящееся во внутренней памяти?

...