11import type { MediaStream } from '@livekit/react-native-webrtc' ;
2- import { addListener } from '../events/EventEmitter' ;
32import {
43 EventTarget ,
54 Event ,
6- defineEventAttribute ,
7- } from 'event-target-shim/index' ;
5+ getEventAttributeValue ,
6+ setEventAttributeValue ,
7+ } from '@livekit/react-native-webrtc' ;
8+ import { addListener } from '../events/EventEmitter' ;
89import { toByteArray } from 'base64-js' ;
910import LiveKitModule from '../LKNativeModule' ;
1011import { log } from '../logger' ;
@@ -123,6 +124,54 @@ export class MediaRecorder extends EventTarget<MediaRecorderEventMap> {
123124 new BlobEvent ( 'dataavailable' , { data : { byteArray : data } } )
124125 ) ;
125126 }
127+
128+ get ondataavailable ( ) {
129+ return getEventAttributeValue ( this , 'dataavailable' ) ;
130+ }
131+
132+ set ondataavailable ( value ) {
133+ setEventAttributeValue ( this , 'dataavailable' , value ) ;
134+ }
135+
136+ get onerror ( ) {
137+ return getEventAttributeValue ( this , 'error' ) ;
138+ }
139+
140+ set onerror ( value ) {
141+ setEventAttributeValue ( this , 'error' , value ) ;
142+ }
143+
144+ get onpause ( ) {
145+ return getEventAttributeValue ( this , 'pause' ) ;
146+ }
147+
148+ set onpause ( value ) {
149+ setEventAttributeValue ( this , 'pause' , value ) ;
150+ }
151+
152+ get onresume ( ) {
153+ return getEventAttributeValue ( this , 'resume' ) ;
154+ }
155+
156+ set onresume ( value ) {
157+ setEventAttributeValue ( this , 'resume' , value ) ;
158+ }
159+
160+ get onstart ( ) {
161+ return getEventAttributeValue ( this , 'start' ) ;
162+ }
163+
164+ set onstart ( value ) {
165+ setEventAttributeValue ( this , 'start' , value ) ;
166+ }
167+
168+ get onstop ( ) {
169+ return getEventAttributeValue ( this , 'stop' ) ;
170+ }
171+
172+ set onstop ( value ) {
173+ setEventAttributeValue ( this , 'stop' , value ) ;
174+ }
126175}
127176
128177/**
@@ -144,15 +193,3 @@ class BlobEvent<TEventType extends string> extends Event<TEventType> {
144193 this . data = eventInitDict . data ;
145194 }
146195}
147-
148- /**
149- * Define the `onxxx` event handlers.
150- */
151- const proto = MediaRecorder . prototype ;
152-
153- defineEventAttribute ( proto , 'dataavailable' ) ;
154- defineEventAttribute ( proto , 'error' ) ;
155- defineEventAttribute ( proto , 'pause' ) ;
156- defineEventAttribute ( proto , 'resume' ) ;
157- defineEventAttribute ( proto , 'start' ) ;
158- defineEventAttribute ( proto , 'stop' ) ;
0 commit comments