package Ġcom . x ih ad . android utils . utils Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . media . Audio Manager Ċ import Ġandroid . media . MediaPlayer Ċ Ċ object ĠMedia Player Util Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Player : ĠMedia Player ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġlength : ĠInt Ġ= Ġ 0 ĊĊĊĠĠĠ Ġfun Ġstart MediaPlayer ( activity : ĠActivity , Ġfile : ĠInt , Ġis Loop ing : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Player Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Player Ġ= ĠMedia Player . create ( activity , Ġfile ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Player ?. start () ĊĠĠĠĠĠĠĠ Ġlength Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( is Loop ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Player ?. is Loop ing Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Player ?. setOn Completion Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop MediaPlayer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġpause MediaPlayer () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Player ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . pause () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlength Ġ= Ġit . current Position ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġresume MediaPlayer () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Player ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . seek To ( length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġstop MediaPlayer () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Player ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . release () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Player Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġplay Tap Sound ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġactivity . getSystem Service ( Context . AUDIO _ SERVICE ) Ġas ĠAudio Manager ĊĠĠĠĠĠĠĠ Ġval Ġvol Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠ Ġam . play Sound Effect ( Audio Manager . FX _ KEY _ CLICK , Ġvol ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġplay Click Sound ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġactivity . getSystem Service ( Context . AUDIO _ SERVICE ) Ġas ĠAudio Manager ĊĠĠĠĠĠĠĠ Ġval Ġvol Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠ Ġam . play Sound Effect ( Audio Manager . FX _ KEY PRESS _ STANDARD , Ġvol ) ĊĠĠĠ Ġ} ĊĊ Ċ }