package Ġorg . webrtc . audio Ċ Ċ import Ġandroid . media . Audio Track Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author Ġ ĠSh en Ben Ċ Ġ* Ġ@ date ĠĠĠĠ 2 0 2 1 / 0 8 / 2 1 Ġ 1 8 : 4 8 Ċ Ġ* Ġ@ email ĠĠĠ 7 1 4 0 8 1 6 4 4 @ qq . com Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġ åĽŀè°ĥ éŁ³ é¢ĳ è¾ĵåħ¥ æķ°æį® Ċ Ġ* Ġ åıį å°Ħ ï¼Į æĽ¿æį¢ [ Web Rtc Audio Track . audio Track ] ï¼Į ä½¿çĶ¨ [ Audio Track Interceptor ] Ċ Ġ* Ġ åħ¶ä¸Ń è¦ģ æĬĬ [ Web Rtc Audio Track . audio Track ] èµĭåĢ¼ ç»Ļ [ Audio Track Interceptor . original Track ] ï¼Į Ċ Ġ* Ġ[ Audio Track Interceptor ] åıª æĺ¯ä¸Ģä¸ª å£ ³ ï¼Į åħ·ä½ĵ å®ŀçİ° æĺ¯ [ Audio Track Interceptor . original Track ] Ċ Ġ* Ċ Ġ* Ġ@ param Ġsamples Ready Callback Ġ åĽŀè°ĥ æİ¥åı£ Ġï¼Į åİŁå§ĭ pcm æķ°æį® Ċ Ġ*/ Ċ fun ĠJava Audio Device Module . set Audio Track Samples Ready Callback ( samples Ready Callback : ĠJava Audio Device Module . Samples Ready Callback ) Ġ{ ĊĠĠĠ Ġval Ġdevice Module Class Ġ= Ġthis :: class . java ĊĠĠĠ Ġval Ġaudio Output Field Ġ= Ġdevice Module Class . getDeclared Field (" audio Output ") ĊĠĠĠ Ġaudio Output Field . is Accessible Ġ= Ġtrue ĊĠĠĠ Ġval Ġweb Rtc Audio Track Ġ= Ġaudio Output Field . get ( this ) Ġas ĠWeb Rtc Audio Track ĊĠĠĠ Ġval Ġaudio Track Class Ġ= Ġweb Rtc Audio Track :: class . java ĊĠĠĠ Ġval Ġaudio Track File d Ġ= Ġaudio Track Class . getDeclared Field (" audio Track ") ĊĠĠĠ Ġaudio Track File d . is Accessible Ġ= Ġtrue ĊĠĠĠ Ġval Ġaudio Track Ġ= Ġaudio Track File d . get ( web Rtc Audio Track )?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġit Ġas ĠAudio Track ĊĠĠĠ Ġ} Ġ?: Ġreturn ĊĊĠĠĠ Ġval Ġinterceptor Ġ= ĠAudio Track Interceptor ( audio Track , Ġsamples Ready Callback ) ĊĠĠĠ Ġaudio Track File d . set ( web Rtc Audio Track , Ġinterceptor ) Ċ }