package Ġcom . react native video thumbnail too Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġcom . facebook . react . bridge . React ApplicationContext Ċ import Ġcom . facebook . react . bridge . React Context Base Java Module Ċ import Ġcom . facebook . react . bridge . React Method Ċ import Ġcom . facebook . react . bridge . Promise Ċ import Ġjava . io . File Ċ import Ġandroid . media . Media Metadata Retriever Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . OutputStream Ċ import Ġjava . time . LocalDateTime Ċ Ċ class ĠVideo Thumbnail Too Module ( react Context : ĠReact ApplicationContext ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Video Thumbnail Too " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġextract Thumbnail ( ĊĠĠĠĠĠ Ġvideo FilePath : ĠString , ĊĠĠĠĠĠ Ġframe Milliseconds : ĠLong Ġ= Ġ 0 , ĊĠĠĠĠĠ Ġimage Type : ĠString Ġ= Ġ" jpg ", ĊĠĠĠĠĠ Ġquality : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠĠĠ Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcleaned Video FilePath Ġ= Ġvideo FilePath . replace (" file :// ", Ġ"") ĊĠĠĠĠĠĠĠ Ġval Ġretrie ver Ġ= ĠMedia Metadata Retriever () ĊĠĠĠĠĠĠĠ Ġretrie ver . set DataSource ( cleaned Video FilePath ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġretrie ver . get Frame At Time ( frame Milliseconds ) ĊĠĠĠĠĠĠĠ Ġvar Ġexternal Dir Ġ= Ġthis . react ApplicationContext . get External Files Dir ( null ) ĊĠĠĠĠĠĠĠ Ġvar Ġfile Ġ= ĠFile ( ĊĠĠĠĠĠĠĠĠĠ Ġexternal Dir . toString (), ĊĠĠĠĠĠĠĠĠĠ Ġ" react - video - thumbnail - too -" Ġ+ ĠLocalDateTime . now (). toString () Ġ+ Ġ"." Ġ+ Ġimage Type ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġstream : ĠOutputStream Ġ= ĠFileOutputStream ( file ) ĊĠĠĠĠĠĠĠ Ġif Ġ( image Type Ġ== Ġ" jpg ") Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġimage ?. compress ( Bitmap . Compress Format . JPEG , Ġquality , Ġstream ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġimage ?. compress ( Bitmap . Compress Format . PNG , Ġquality , Ġstream ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstream . flush () ĊĠĠĠĠĠĠĠ Ġstream . close () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpromise . resolve ( file . absolute File ) ĊĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpromise . reject ( e ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ