package Ġde . m enk alian . pis ces . audio . sending Ċ Ċ import Ġcom . sed mell uq . discord . lav ap layer . player . Audio Player Ċ import Ġde . m enk alian . pis ces . config . I Config Ċ import Ġde . m enk alian . pis ces . util . logger Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ /** Ċ Ġ* ĠFactory Ġzur ĠBere it stellung Ġvon Ġ[ I Extended Audio Send Handler ]- Inst an zen . Ċ Ġ* ĠDie Ġgen a ue ĠImplement ierung Ġder ĠInst an zen Ġkann ĠÃ¼ber Ġdie ĠKon figuration Ġfest ge le gt Ġwerden . Ċ Ġ* ĠE ine ĠInst anz Ġdieser ĠK lasse Ġist Ġals ĠSpring - Bean ĠverfÃ¼ g bar . Ċ Ġ* Ċ Ġ* Ġ@ constructor ĠStandard kon str uk tor . ĠW ird Ġvon ĠSpring Ġzum ĠInst an zi ieren Ġgen ut zt . Ċ Ġ* Ġ@ param Ġconfig ĠA kt uelle ĠKon figuration Ġder ĠApp lik ation Ċ Ġ*/ Ċ @ Service Ċ class ĠAudio Send Handler Factory ( val Ġconfig : ĠI Config ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE rst ellt Ġeine Ġ[ I Extended Audio Send Handler ]- Inst anz , Ġab h Ã¤ng ig Ġvon Ġder Ġakt ue llen ĠKon figuration Ġund Ġden ĠE ing abe parame tern . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Ġ[ Audio Player ]- Inst anz , Ġdie Ġvon Ġdem ĠSend Handler Ġgen ut zt Ġwerden Ġsol l . ĊĠĠĠĠ Ġ* Ġ@ return ĠE rst ell te ĠInst anz ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠWenn Ġdie Ġakt uelle ĠKon figuration Ġkeine ĠgÃ¼ lt ige ĠSend Handler - Implement ierung Ġge set zt Ġhat Ġoder ĠAudio Send Handler Ġde aktiv iert Ġsind . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Audio Player Send Handler ( player : ĠAudio Player ): ĠI Extended Audio Send Handler Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger (). info (" Creating ĠL av ap layer Audio Send Handler Ġwith Ġplayer Ġ{$ player }") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( config . feature Config . pis ces . audio . Extended Audio Send Handler . isEnabled . not ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Extended Audio Player Send Handler Ġinactive Ġin Ġconfiguration ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġconfig . feature Config . pis ces . audio . Extended Audio Send Handler . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( active Implementation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUn filtered L av ap layer Audio Send Handler Ġ-> ĠUn filtered L av ap layer Audio Send Handler ( player ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġthrow ĠIllegalArgumentException (" Active Ġconfiguration Ġunsupported : Ġ${ active Implementation :: class . simple Name }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }