/* Ċ Ġ* ĠDevelop ed Ġfor Ġthe ĠOpen Bot Ġproject Ġ( https :// open bot . org ) Ġby : Ċ Ġ* Ċ Ġ* ĠI vo ĠZ iv kov Ċ Ġ* Ġiz iv kov @ gmail . com Ċ Ġ* Ċ Ġ* ĠDate : Ġ 2 0 2 0 - 1 2 - 2 7 , Ġ 1 0 : 5 6 Ġp . m . Ċ Ġ*/ Ċ Ċ package Ġorg . open bot . controller . custom Components Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Surface Ċ import Ġandroid . view . Surface Holder Ċ import Ġandroid . widget . Frame Layout Ċ import Ġorg . vide ol an . lib v lc . Lib VL C Ċ import Ġorg . vide ol an . lib v lc . Media Ċ import Ġorg . vide ol an . lib v lc . MediaPlayer Ċ import Ġorg . vide ol an . lib v lc . interfaces . I VL CV out Ċ import Ġorg . vide ol an . lib v lc . util . VL C Video Layout Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠV lc Player ( ĊĠĠĠĠĠĠĠ Ġval Ġcontext : ĠContext , Ġval Ġlayout : ĠV LC Video Layout Ċ ) Ġ: ĠI Video Player Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG : ĠString Ġ= Ġ" V lc Player " ĊĊĠĠĠ Ġprivate Ġvar Ġm Lib VL C : ĠLib VL C ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm MediaPlayer : ĠMedia Player ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Video Layout : ĠV LC Video Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġargs . add ("- vv v ") ĊĠĠĠĠĠĠĠ Ġargs . add ("-- file - caching = 2 0 0 0 "); ĊĊĠĠĠĠĠĠĠ Ġm Lib VL C Ġ= ĠLib VL C ( this . context , Ġargs ) ĊĠĠĠĠĠĠĠ Ġm MediaPlayer Ġ= ĠMedia Player ( m Lib VL C ) ĊĊĠĠĠĠĠĠĠ Ġset Layout ( this . layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Layout ( layout : ĠV LC Video Layout ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Video Layout Ġ= Ġlayout ĊĠĠĠĠĠĠĠ Ġm MediaPlayer !!. detach Views () ĊĠĠĠĠĠĠĠ Ġm MediaPlayer !!. attach Views ( m Video Layout !! , Ġnull , Ġtrue , Ġtrue ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġstart ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( null , Ġ" St ated Ġthe Ġplayer ..., Ġplay State : Ġ" Ġ+ Ġm MediaPlayer !!. player State ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmedia Ġ= ĠMedia ( m Lib VL C , ĠUri . parse ( url )) ĊĠĠĠĠĠĠĠ Ġmedia . set HW Decoder Enabled ( true , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġmedia . add Option (": network - caching = 1 5 0 ") ĊĠĠĠĠĠĠĠ Ġmedia . add Option (": clock - j itter = 0 ") ĊĠĠĠĠĠĠĠ Ġmedia . add Option (": clock - syn chro = 0 ") ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" media . state : Ġ" Ġ+ Ġmedia . state ) ĊĊĠĠĠĠĠĠĠ Ġm MediaPlayer !!. media Ġ= Ġmedia ĊĠĠĠĠĠĠĠ Ġmedia . release () ĊĊĠĠĠĠĠĠĠ Ġm MediaPlayer !!. play () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop () Ġ{ ĊĠĠĠĠĠĠĠ Ġm MediaPlayer !!. stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠThese Ġare Ġnot Ġneeded Ġbut Ġare Ġcreated Ġto Ġsatisfy ĠI Video Player Ġinterface . ĊĠĠĠ Ġoverride Ġfun Ġrelease () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Display ( holder : ĠSurface Holder ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Surface Changed Callback ( surface Changed Callback : Ġ( Surface Holder , ĠInt , ĠInt ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" surface Changed Callback : Ġ") ĊĠĠĠ Ġ} Ċ } Ċ