package Ġcom . hq . tool . system Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . media . MediaPlayer Ċ import Ġandroid . util . Log Ċ Ċ /** Ċ Ġ* ĠcreateTime ï¼ļ 2 0 2 0 / 4 / 1 2 Ġ 3 : 5 8 ĠPM Ċ Ġ* Ġauthor Ċ Ġ* Ġdescri p ï¼ļ mp 3 æĴŃæĶ¾ Ċ Ġ*/ Ċ class ĠMedia Player Util Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠ Ġprivate Ġvar Ġm MediaPlayer : ĠMedia Player ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġmedia Player : ĠMedia Player ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġm MediaPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm MediaPlayer Ġ= ĠMedia Player () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm MediaPlayer ?. setOn Completion Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm MediaPlayer ?. release () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm MediaPlayer Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm MediaPlayer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ Ĵ Ń æĶ¾ éŁ³ é¢ĳ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġplay Audio By Assets ( mContext : ĠContext , ĠfileName : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġm MediaPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m MediaPlayer !!. is Playing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Manager Ġ= ĠmContext . assets ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa fd Ġ= Ġasset Manager . open Fd ( fileName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmedia Player Ġ= Ġmedia Player ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( afd Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player !!. set DataSource ( afd . file Descriptor , Ġa fd . start Offset , Ġa fd . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player . is Loop ing Ġ= Ġfalse Ġ// å¾ªçİ¯ æĴŃæĶ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player . prepare () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Player . start () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" æĴŃæĶ¾ éŁ³ é¢ĳ å¤±è´¥ ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }