package Ġcom . man u . medi as ample s . samples . record Ċ Ċ import Ġandroid . media . Media Mux er Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġcom . man u . medi as ample s . app . Media Application Ċ import Ġcom . man u . medi as ample s . util . L Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* Ġ@ Desc : Ċ Ġ* Ġ@ Author : Ġj z man Ċ Ġ*/ Ċ object ĠEncode Manager Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Encode Manager " ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Media Mux er : ĠMedia Mux er ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinit ( width : ĠInt , Ġheight : ĠInt ){ ĊĠĠĠĠĠĠĠ ĠL . i ( TAG , Ġ" init ") ĊĠĠĠĠĠĠĠ Ġinit Mux er () ĊĠĠĠĠĠĠĠ ĠAudio Encode . init Audio ( m Media Mux er ) ĊĠĠĠĠĠĠĠ ĠVideo Encode . init Video ( width , height , Ġm Media Mux er ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġstart ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstart Encode (){ ĊĠĠĠĠĠĠĠ ĠL . i ( TAG , Ġ" start Encode ") ĊĠĠĠĠĠĠĠ ĠAudio Encode . start Audio Encode () ĊĠĠĠĠĠĠĠ ĠVideo Encode . start Video Encode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġstop ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstop Encode (){ ĊĠĠĠĠĠĠĠ ĠL . i ( TAG , Ġ" stop Encode ") ĊĠĠĠĠĠĠĠ ĠAudio Encode . stop Audio Encode () ĊĠĠĠĠĠĠĠ ĠVideo Encode . stop Video Encode () ĊĠĠĠĠĠĠĠ ĠRecord Config . is Mux er Start Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠRecord Config . audio Track Index Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ ĠRecord Config . video Track Index Ġ= Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ Media Mux er ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit Mux er () Ġ{ ĊĠĠĠĠĠĠĠ ĠL . i ( TAG , Ġ" init Mux er ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġ"${ Media Application . context . files Dir }/ test . mp 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Media Mux er Ġ= ĠMedia Mux er ( path , ĠMedia Mux er . Output Format . MUX ER _ OUTPUT _ M PEG _ 4 ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( Record Activity . activity ," init Mux er Ġerror ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" init Mux er Ġfail : Ġ${ e . message }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }