package Ġnet . b jo ern pe ters en . java fx playback Ċ Ċ import Ġjavafx . scene . media . Media Exception Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġnet . b jo ern pe ters en . music bot . api . config . Config Ċ import Ġnet . b jo ern pe ters en . music bot . spi . plugin . Playback Ċ import Ġnet . b jo ern pe ters en . music bot . spi . plugin . management . Init State Writer Ċ import Ġnet . b jo ern pe ters en . music bot . spi . plugin . pre defined . Mp 3 Playback Factory Ċ import Ġnet . b jo ern pe ters en . music bot . spi . plugin . pre defined . Unsupported Audio File Exception Ċ import Ġnet . b jo ern pe ters en . music bot . spi . plugin . pre defined . Wave Playback Factory Ċ import Ġjava . io . File Ċ import Ġjava . io . IOException Ċ Ċ class ĠJava Fx Playback Factory Ġ: ĠM p 3 Playback Factory , ĠWave Playback Factory Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" Java FX " ĊĠĠĠ Ġoverride Ġval Ġdescription : ĠString Ġ= Ġ" Play s ĠMP 3 Ġor ĠWave Ġsongs Ġusing ĠJava FX 's Ġincluded Ġfeature " ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Config Entries ( config : ĠConfig ): ĠList < Config . Entry <* >> Ġ= Ġempty List () ĊĠĠĠ Ġoverride Ġfun Ġcreate Secret Entries ( secrets : ĠConfig ): ĠList < Config . Entry <* >> Ġ= Ġempty List () ĊĠĠĠ Ġoverride Ġfun ĠcreateState Entries ( state : ĠConfig ) Ġ{} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinitialize ( init State Writer : ĠInit State Writer ) Ġ{} ĊĊĠĠĠ Ġ@ Throws ( Unsupported Audio File Exception :: class , ĠIOException :: class ) ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġcreate Playback ( inputFile : ĠFile ): ĠPlay back Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJava Fx Playback ( inputFile ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠMedia Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . type Ġ== ĠMedia Exception . Type . MEDIA _ UNSUPPORTED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupported Audio File Exception ( e . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIOException ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġclose () Ġ{} Ċ } Ċ