package Ġcom . example . sound pool Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . media . Audio Attributes Ċ import Ġandroid . media . Sound Pool Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . example . kotlin demo . R Ċ Ċ /** Ċ Ġ* Ġ@ author Ġd und ong fang Ġon Ġ 2 0 1 8 / 9 / 2 8 . Ċ Ġ*/ Ċ @ Target Api ( 2 1 ) Ċ class ĠSound Fragment Ġ: Ġandroidx . fragment . app . Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġsound Id Ġ= Ġ- 1 ĊĠĠĠ Ġprivate Ġval Ġwheel Sound Ġ= ĠSound Pool . Builder () ĊĠĠĠĠĠĠĠ Ġ. setMax Streams ( 1 ) ĊĠĠĠĠĠĠĠ Ġ. set Audio Attributes ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAudio Attributes . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ContentType ( Audio Attributes . CONTENT _ TYPE _ SON IFICATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Usage ( Audio Attributes . USAGE _ NOTIFICATION ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Legacy Stream Type ( 1 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ sound , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsound Id Ġ= Ġwheel Sound . load ( context , ĠR . raw . wheel _ sound , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġplay Ġ= Ġview . findViewById < View >( R . id . play ) ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġview . findViewById < TextView >( R . id . text ) ĊĠĠĠĠĠĠĠ Ġplay . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sound Id Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . append (" load Ġnot Ġcomplete ! Ġ\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Id Ġ= Ġwheel Sound . play ( sound Id , Ġ 1 f , Ġ 1 f , Ġ 1 , Ġ 0 , Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . append ("$ sId , Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġarray 2 String ( s : ĠArray < String >? ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ== Ġnull Ġ-> Ġ" null " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . isEmpty () Ġ-> Ġ" ç©º " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( sub Ġin Ġs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( sub ). append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ