Передать местное видео в mediametadatartriever бросает IllegalArgumentException - PullRequest
0 голосов
/ 06 июля 2018

В моем приложении для Android я хочу извлечь видеокадры. Я использую MediaMetaDataRetriever для того же.

Как установить источник данных

 Log.d("DEBUG", videoPathUri.getPath());
 metadataRetriever.setDataSource(mContext, videoPathUri);

Вот вывод журнала

/storage/emulated/0/Android/data/com.live.hootout/files/HootVideos/10701.mp4

Как загрузить видео, хранящееся в папке данных Android, в mediametadataretriever?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вот как я это сделал.

File file = new File(videoPathUri.getPath());
try {
        FileInputStream inputStream = new FileInputStream(file.getAbsolutePath());
      metadataRetriever.setDataSource(inputStream.getFD());
    }catch(FileNotFoundException e){
       Log.d("DEBUG", "FileNotFoundException", e);
    }catch(IOException ea){
       Log.d("DEBUG", "IOException", ea);
    }
0 голосов
/ 06 июля 2018

Попробуйте это ...

File file = new File(context.getDataDir(),filename);
...