Для моего приложения мне нужно загрузить отдельные изображения видеофайла, расположенного в моем каталоге res/raw/, в список/массив изображений. Из этого списка/массива изображений мне нужно выбрать несколько изображений, которые будут сохранены в новом видеофайле, также расположенном в каталоге res/raw/.
Проблема в том, что я не могу получить путь к своему видео. Если я попытаюсь использовать:
Файл f = new Flie("app/res/raw/test.mp4");
Я получаю ошибку: файл не может быть найден.
Я пытался использовать Uri, например:
Строка videopath ="android.resource://" + getPackageName()+ R.raw.test; Файл f = новый Flie(videopath.toString());
Но и это не работает.
Вот псевдокод, как мне это нужно:
List<Picture> video = new ArrayList<Picture>();
File file = new file("path_to_file/test.mp4");
FrameGrab grab = FrameGrab.createFrameGrab(NIOUtils.readableChannel(file));
Picture picture;
while (null != (picture = grab.getNativeFrame())) {
video.add(picture);
}
List<picture> video_new = new ArrayList<picture>();
int[] idx = {1,2,4,6,8 ...}
for(int i= 0; i<idx.length; i++){
picture= video.get(idx[i]);
video_new.add(picture);
}
//stores the new video into the same path but with a different name
storefile("path_to_file/test_new.mp4", video_new);