package Ġcom . r nc amer akit . recorder . manager Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . aliyun . common . utils . Common Util Ċ import Ġcom . aliyun . s video . base . Constants Ċ import Ġcom . aliyun . s video . common . utils . FileUtils Ċ import Ġcom . aliyun . s video . common . utils . Screen Utils Ċ import Ġcom . aliyun . s video . recorder . mix recorder . Ali vc Recorder Ċ import Ġcom . aliyun . s video . recorder . util . Fixed Toast Utils Ċ import Ġcom . aliyun . s video . recorder . util . Record Common Ċ import Ġcom . aliyun . s video . recorder . util . Shared Preference Utils Ċ import Ġcom . aliyun . s videos dk . common . struct . common . Ali yun Snap Video Param Ċ import Ġcom . aliyun . s videos dk . common . struct . common . Video Quality Ċ import Ġcom . aliyun . s videos dk . common . struct . effect . Effect Filter Ċ import Ġcom . aliyun . s videos dk . common . struct . effect . Effect P aster Ċ import Ġcom . aliyun . s videos dk . common . struct . encoder . Video Code cs Ċ import Ġcom . aliyun . s videos dk . common . struct . form . Preview P aster Form Ċ import Ġcom . aliyun . s videos dk . common . struct . project . Source Ċ import Ġcom . aliyun . s videos dk . common . struct . recorder . Camera Param Ċ import Ġcom . aliyun . s videos dk . common . struct . recorder . Camera Type Ċ import Ġcom . aliyun . s videos dk . common . struct . recorder . Flash Type Ċ import Ġcom . aliyun . s videos dk . common . struct . recorder . Media Info Ċ import Ġcom . aliyun . s videos dk . recorder . Ali yun IC lip Manager Ċ import Ġcom . facebook . react . bridge . Promise Ċ import Ġcom . facebook . react . bridge . React ApplicationContext Ċ import Ġcom . facebook . react . u im an ager . The med React Context Ċ import Ġcom . li ul ish uo . file downloader . Base Download Task Ċ import Ġcom . r nc amer akit . R Ċ import Ġcom . r nc amer akit . RN EventEmitter Ċ import Ġcom . r nc amer akit . db . Music File Bean Ċ import Ġcom . r nc amer akit . recorder . Impl Record Callback Ċ import Ġcom . r nc amer akit . recorder . On Recorder Callbacks Ċ import Ġcom . r nc amer akit . utils . Download Utils Ċ import Ġcom . r nc amer akit . utils . My File Download Callback Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġjava . io . File Ċ import Ġjava . util .* Ċ Ċ class ĠRec order Manage ( ĊĠĠĠ Ġval ĠmContext : ĠThe med React Context Ċ ) Ġ{ ĊĊĠĠĠ Ġvar Ġcamera Type : ĠCamera Type ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġm Recorder : ĠAli vc Recorder ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Clip Manager : ĠAli yun IC lip Manager ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Record Callback : ĠImp l Record Callback ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Recorder Queen Manage : ĠRec order Queen Manage ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġm Color Filter List : ĠMutable List < String > Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è´ ´ çº ¸ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Effect P aster : ĠEffect P aster ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġinit Color Filter Assets () Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Filter List Ġ= ĠRecord Common . getColor Filter List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Color Filter List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Color Filter List . addAll ( color Filter List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġprivate Ġfun Ġdownload Music ( mode : ĠString ? ){ Ċ // ĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġif Ġ( mode Ġ== Ġ" back ") Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// static . p ai ya app . com / music / Ber lin % 2 0 -% 2 0 Take % 2 0 My % 2 0 Bre ath % 2 0 Away . mp 3 " Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// static . p ai ya app . com / music /% E 6 % 9 D % 8 E % E 5 % AE % 9 7 % E 7 % 9 B % 9 B % 2 C % E 5 % 9 1 % A 8 % E 5 % 8 D % 8 E % E 5 % 8 1 % A 5 -% E 6 % BC % 8 2 % E 6 % B 4 % 8 B % E 8 % BF % 8 7 % E 6 % B 5 % B 7 % E 6 % 9 D % A 5 % E 7 % 9 C % 8 B % E 4 % BD % A 0 % 2 0 ( Live ). mp 3 " Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠStorage Utils . get Files Directory ( mContext . application Context ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () Ġ+ Ġ"/ music / download " Ċ // ĠĠĠĠĠĠĠ ĠDownload Utils . download File ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġurl , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġpath , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠMy File Download Callback () Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcompleted ( task : ĠBase Download Task ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . completed ( task ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. set Mute ( false ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfilePath Ġ= Ġtask . target FilePath Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Player Manage . instance . start ( filePath ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. set Music ( filePath , Ġ 0 , Ġ 3 0 Ġ* Ġ 1 0 0 0 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ċ // ĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĪĩæį¢ æĳ Ħ åĥı å¤´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Camera Type ( mode : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( camera Type Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcamera Id Ġ= Ġm Recorder ?. switch Camera () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( type Ġin ĠCamera Type . values ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type . type Ġ== Ġcamera Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcamera Type Ġ= Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĪĩæį¢ æĳ Ħ åĥı å¤´ åĲİ éĩįæĸ° è®¾ç½® ä¸Ģæ¬¡ éĹ ª åħī çģ ¯ æ¨¡å¼ı ï¼Į åĲ¦åĪĻ éĹ ª åħī çģ ¯ æĹł æķĪ . ä½¿çĶ¨ ç³»ç»Ł çļĦ æĭ į çħ§ æİ¥åı£ ä¸Ķ åĲİ ç½® æĳ Ħ åĥı å¤´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. set Light ( m Flash Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcamera Type Ġ= ĠCamera Type . FRONT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġm Flash Type Ġ= ĠFlash Type . AUTO ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® éĹ ª åħī çģ ¯ æ¨¡å¼ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Light ( mode : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Flash Type Ġ= Ġwhen Ġ( mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" on " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlash Type . ON ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" off " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlash Type . OFF ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlash Type . AUTO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Light ( m Flash Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĭ çĶµ çŃ Ĵ ï¼Į ä»ħ åĲİ ç½® æĳ Ħ åĥı å¤´ æľīæķĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Torch Mode ( mode : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Light ( if Ġ(" on " Ġ== Ġmode ) ĠFlash Type . TOR CH Ġelse Ġm Flash Type ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® èĥĮæĻ¯ éŁ³ ä¹Ĳ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Background Music ( bg m : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( bg m )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. set Music ( null , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. set Music ( bg m , Ġ 0 , Ġ 3 0 Ġ* Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Music Info ( bean : ĠMusic File Bean ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( bean ?. is Db Contain Ġ== Ġ 1 Ġ&& ĠFileUtils . file Is Exists (( bean . local Path ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Background Music ( bean . local Path ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bean Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDownload Utils . download Music ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbean . song ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbean . url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠMy File Download Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcompleted ( task : ĠBase Download Task ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . completed ( task ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfilePath Ġ= Ġtask . target FilePath ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Background Music ( filePath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġphoto Path : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¸¦ çī¹ æķĪ æĭ į çħ§ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtake Photo ( context : ĠReact ApplicationContext , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Record Callback ?. setOn Recorder Callbacks ( object Ġ: ĠOn Recorder Callbacks () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Take Photo ( photo Path : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp anion . photo Path Ġ= Ġphoto Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Release () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( photo Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( errorCode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" take Photo ", Ġ" errorCode :$ errorCode ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. take Photo ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼Ģå§ĭ å½ķ åĪ¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstart Recording ( react Context : ĠReact ApplicationContext , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Common Util . SD Free Size () Ġ< Ġ 5 0 Ġ* Ġ 1 0 0 0 Ġ* Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" start Recording ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" error :" Ġ+ Ġreact Context . resources . getString ( R . string . al iv c _ music _ no _ free _ memory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFixed Toast Utils . show ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreact Context . resources . getString ( R . string . al iv c _ music _ no _ free _ memory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Recorder Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Manager ?. delete All Part () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Record Callback ?. setOn Recorder Callbacks ( object Ġ: ĠOn Recorder Callbacks () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress ( duration : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRN EventEmitter . start Video Record ( react Context , Ġduration ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. start Recording () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( true ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" start Recording ", Ġ" recorder Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åģľæŃ¢ å½ķ åĪ¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstop Recording ( context : ĠContext , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Record Callback ?. setOn Recorder Callbacks ( object Ġ: ĠOn Recorder Callbacks () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete ( valid Clip : ĠBoolean , Ġclip Duration : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clip Duration Ġ< Ġ 2 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. cancel Recording () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" start Recording ", Ġ" recording Ġduration " Ġ+ Ġclip Duration Ġ+ Ġ" ms ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. finish Recording () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Clip Manager ?. delete All Part () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish ( output Path : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Release () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( output Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( errorCode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" start Recording ", Ġ" errorCode :$ errorCode ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. stop Recording () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcolor Filter Position Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® é¢ľèī² æ»¤ éķľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Color Filter () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Color Filter List . isEmpty () Ġ|| Ġcolor Filter Position Ġ>= Ġm Color Filter List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Filter Position Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠSource ( m Color Filter List [ color Filter Position ]) ĊĠĠĠĠĠĠĠ Ġval Ġfilter Effect Ġ= ĠEffect Filter ( source ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. apply Filter ( filter Effect ) ĊĠĠĠĠĠĠĠ Ġcolor Filter Position ++ ĊĠĠĠĠĠĠĠ Ġif Ġ( color Filter Position Ġ> Ġm Color Filter List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Filter Position Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġget Be auty Level ( context : ĠContext ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠShared Preference Utils . get Be auty Face Level ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® ç¾İ é¢ľ çŃī çº§ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Be auty Level ( level : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recorder Queen Manage ?. set Be auty Level ( level ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® äºº èĦ ¸ è´ ´ çº ¸ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Face Effect P aster ( p aster : ĠPreview P aster Form ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠEffect P aster Manage . instance . set Effect P aster ( p aster , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠEffect P aster Manage . On Gif Effect P aster Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Path ( path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Path ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Effect P aster Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Recorder ?. remove P aster ( m Effect P aster ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠSource ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Effect P aster Ġ= ĠEffect P aster ( source ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadd P aster Ġ= Ġm Recorder ?. add P aster ( m Effect P aster ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Release () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recorder ?. release () ĊĠĠĠĠĠĠĠ Ġm Recorder Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġm Recorder Queen Manage ?. on Release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recorder Ġ= ĠAli vc Recorder ( mContext ) ĊĠĠĠĠĠĠĠ Ġval Ġm Width Ġ= ĠScreen Utils . getWidth ( mContext ) ĊĠĠĠĠĠĠĠ Ġval Ġm Height Ġ= Ġm Width Ġ* Ġ 1 6 Ġ/ Ġ 9 ĊĠĠĠĠĠĠĠ Ġval Ġoutput Info Ġ= ĠMedia Info () ĊĠĠĠĠĠĠĠ Ġoutput Info . fps Ġ= Ġ 3 5 ĊĠĠĠĠĠĠĠ Ġoutput Info . video Width Ġ= Ġm Width ĊĠĠĠĠĠĠĠ Ġoutput Info . video Height Ġ= Ġm Height ĊĠĠĠĠĠĠĠ Ġoutput Info . video Codec Ġ= ĠVideo Code cs . H 2 6 4 _ HARD WARE ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Media Info ( output Info ) ĊĠĠĠĠĠĠĠ Ġval Ġvideo Path Ġ= ĠFile ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . SD Card Constants . get Dir ( mContext . application Context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" p ai ya - record . mp 4 " ĊĠĠĠĠĠĠĠ Ġ). absolute Path ĊĠĠĠĠĠĠĠ Ġm Recorder ?. setOutput Path ( video Path ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Video Quality ( Video Quality . SSD ) ĊĠĠĠĠĠĠĠ Ġ// 1 0 Mb ps ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Video Bit rate ( 1 0 Ġ* Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Ratio Mode ( Ali yun Snap Video Param . RATIO _ MODE _ 9 _ 1 6 ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set G op ( 3 0 ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Resolution Mode ( Ali yun Snap Video Param . RESOL UTION _ 7 2 0 P ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Camera ( Camera Type . FRONT ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Focus Mode ( Camera Param . FOCUS _ MODE _ CONTINUE ) ĊĠĠĠĠĠĠĠ Ġm Clip Manager Ġ= Ġm Recorder ?. clip Manager ĊĠĠĠĠĠĠĠ Ġ// æľĢå¤§ æĹ¶éĹ´ å¿ħé¡» è®¾ç½® ï¼Į åĲ¦åĪĻ è®¾ç½® å½ķ åĪ¶ èĥĮæĻ¯ éŁ³ ä¹Ĳ æĹł æķĪ ĊĠĠĠĠĠĠĠ Ġm Clip Manager ?. max Duration Ġ= Ġ 3 0 Ġ* Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġm Record Callback Ġ= ĠImp l Record Callback ( mContext ) ĊĠĠĠĠĠĠĠ Ġm Recorder ?. set Record Callback ( m Record Callback ) ĊĠĠĠĠĠĠĠ Ġm Recorder Queen Manage Ġ= ĠRec order Queen Manage ( mContext , Ġm Recorder Ġas ĠAli vc Recorder , Ġthis ) ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ