package Ġcom . react native _ kotlin _ bridge . Kotlin Video Streaming Ċ Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Media Controller Ċ import Ġcom . react native _ kotlin _ bridge . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ video _ streaming .* Ċ Ċ class ĠVideo Streaming Activity Ġ: ĠAppCompatActivity (), ĠMedia Player . On Prepared Listener , ĠMedia Player . On Info Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġplayback Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtitle : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvideo Url : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmedia Controller : ĠMedia Controller ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ video _ streaming ) ĊĊĠĠĠĠĠĠĠ Ġ// get Ġthe Ġpassed Ġvideo Ġinfo ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġintent . getString Extra (" video Title ") ĊĠĠĠĠĠĠĠ Ġvideo Url Ġ= Ġintent . getString Extra (" video Url ") ĊĊĠĠĠĠĠĠĠ Ġmedia Controller Ġ= ĠMedia Controller ( this ) ĊĠĠĠĠĠĠĠ Ġvideo Title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġvideo View . setOn Prepared Listener ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvideo View . setOn Info Listener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepared ( p 0 : ĠMedia Player ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// add Ġcontrol Ġbuttons Ġto Ġvideo View ĊĠĠĠĠĠĠĠ Ġmedia Controller . set Anchor View ( player Container ) ĊĠĠĠĠĠĠĠ Ġvideo View . set Media Controller ( media Controller ) ĊĊĠĠĠĠĠĠĠ Ġ// start Ġthe Ġvideo ĊĠĠĠĠĠĠĠ Ġvideo View . seek To ( playback ) ĊĠĠĠĠĠĠĠ Ġvideo View . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Info ( player : ĠMedia Player ?, Ġwhat : ĠInt , Ġextra : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( what Ġ== ĠMedia Player . MEDIA _ INFO _ VIDEO _ RENDER ING _ START ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse ( video Url ) ĊĠĠĠĠĠĠĠ Ġvideo View . set Video URI ( uri ) ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġvideo View . pause () ĊĠĠĠĠĠĠĠ Ġplayback Ġ= Ġvideo View . current Position ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġvideo View . stop Playback () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} Ċ Ċ } Ċ