@@ -6,6 +6,7 @@ import React
66struct LKEvents {
77 static let kEventVolumeProcessed = " LK_VOLUME_PROCESSED " ;
88 static let kEventMultibandProcessed = " LK_MULTIBAND_PROCESSED " ;
9+ static let kEventAudioData = " LK_AUDIO_DATA " ;
910}
1011
1112@objc ( LivekitReactNativeModule)
@@ -178,6 +179,24 @@ public class LivekitReactNativeModule: RCTEventEmitter {
178179 session. unlockForConfiguration ( )
179180 }
180181
182+ @objc ( createAudioSinkListener: trackId: )
183+ public func createAudioSinkListener( _ pcId: NSNumber , trackId: String ) -> String {
184+ let renderer = AudioSinkRenderer ( eventEmitter: self )
185+ let reactTag = self . audioRendererManager. registerRenderer ( renderer)
186+ renderer. reactTag = reactTag
187+ self . audioRendererManager. attach ( renderer: renderer, pcId: pcId, trackId: trackId)
188+
189+ return reactTag
190+ }
191+
192+ @objc ( deleteAudioSinkListener: pcId: trackId: )
193+ public func deleteAudioSinkListener( _ reactTag: String , pcId: NSNumber , trackId: String ) -> Any ? {
194+ self . audioRendererManager. detach ( rendererByTag: reactTag, pcId: pcId, trackId: trackId)
195+ self . audioRendererManager. unregisterRenderer ( forReactTag: reactTag)
196+
197+ return nil
198+ }
199+
181200 @objc ( createVolumeProcessor: trackId: )
182201 public func createVolumeProcessor( _ pcId: NSNumber , trackId: String ) -> String {
183202 let renderer = VolumeAudioRenderer ( intervalMs: 40.0 , eventEmitter: self )
@@ -195,7 +214,7 @@ public class LivekitReactNativeModule: RCTEventEmitter {
195214
196215 return nil
197216 }
198-
217+
199218 @objc ( createMultibandVolumeProcessor: pcId: trackId: )
200219 public func createMultibandVolumeProcessor( _ options: NSDictionary , pcId: NSNumber , trackId: String ) -> String {
201220 let bands = ( options [ " bands " ] as? NSNumber ) ? . intValue ?? 5
@@ -237,6 +256,7 @@ public class LivekitReactNativeModule: RCTEventEmitter {
237256 return [
238257 LKEvents . kEventVolumeProcessed,
239258 LKEvents . kEventMultibandProcessed,
259+ LKEvents . kEventAudioData,
240260 ]
241261 }
242262}
0 commit comments