package Ġcom . o zone player . o zone player app . activities ; Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . net . Uri Ċ import Ġandroid . widget . Button Ċ import Ġcom . google . android . ex op layer 2 . Simple Exo Player Ċ import Ġcom . google . android . ex op layer 2 . extractor . Default Extract ors Factory Ċ import Ġcom . google . android . ex op layer 2 . extractor . Extract ors Factory Ċ import Ġcom . google . android . ex op layer 2 . source . Extractor Media Source Ċ import Ġcom . google . android . ex op layer 2 . Exo Player Factory Ċ import Ġcom . google . android . ex op layer 2 . source . Media Source Ċ import Ġcom . google . android . ex op layer 2 . track selection . Adaptive Track Selection Ċ import Ġcom . google . android . ex op layer 2 . track selection . Default Track Selector Ċ import Ġcom . google . android . ex op layer 2 . track selection . Track Selection Ċ import Ġcom . google . android . ex op layer 2 . track selection . Track Selector Ċ import Ġcom . google . android . ex op layer 2 . upstream . Bandwidth Meter Ċ import Ġcom . google . android . ex op layer 2 . upstream . DataSource Ċ import Ġcom . google . android . ex op layer 2 . upstream . Default Bandwidth Meter Ċ import Ġcom . google . android . ex op layer 2 . upstream . Default DataSource Factory Ċ import Ġcom . google . android . ex op layer 2 . util . Util Ċ import Ġcom . o zone player . o zone player app . R Ċ Ċ class ĠRadio Player Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġval Ġstart Button : ĠButton Ġby Ġlazy Ġ{ ĠfindViewById < Button >( R . id . start Button ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġstop Button : ĠButton Ġby Ġlazy Ġ{ ĠfindViewById < Button >( R . id . stop Button ) Ġ} ĊĊĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġplayer : ĠSimple Exo Player ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠdataSource Factory : ĠDataSource . Factory ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmedia Source : ĠMedia Source ĊĊĠĠĠ Ġprivate Ġval Ġbandwidth Meter : ĠBand width Meter Ġ= ĠDefault Bandwidth Meter () ĊĠĠĠ Ġprivate Ġval Ġextract ors Factory : ĠExtract ors Factory Ġ= ĠDefault Extract ors Factory () ĊĠĠĠ Ġprivate Ġval Ġtrack Selection Factory : ĠTrack Selection . Factory Ġ= ĠAdapt ive Track Selection . Factory ( bandwidth Meter ) ĊĠĠĠ Ġprivate Ġval Ġtrack Selector : ĠTrack Selector Ġ= ĠDefault Track Selector ( track Selection Factory ) ĊĠĠĠ Ġprivate Ġval Ġdefault Bandwidth Meter : ĠDefault Bandwidth Meter Ġ= ĠDefault Bandwidth Meter () ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ radio _ player ) ĊĊĊĠĠĠĠĠĠĠ ĠdataSource Factory Ġ= ĠDefault DataSource Factory ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtil . getUser Agent ( this , Ġ" media Player Sample "), Ġdefault Bandwidth Meter ) ĊĊĊĠĠĠĠĠĠĠ Ġmedia Source Ġ= ĠExtract or Media Source ( Uri . parse (" http :// uk 7 . internet - radio . com : 8 2 2 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSource Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextract ors Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġplayer Ġ= ĠEx o Player Factory . new Simple Instance ( this , Ġtrack Selector ) ĊĊĠĠĠĠĠĠĠ Ġwith ( player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprepare ( media Source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Button . setOnClickListener Ġ{ Ġplay When Ready Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Button . setOnClickListener Ġ{ Ġplay When Ready Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĊĠĠĠĠĠĠĠ Ġplayer . play When Ready Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ