minFps - the minimum frame rate for the video stream (passed to GUM).micDeviceId - the deviceID for the audio device that is going to be used.cameraDeviceId - the deviceID for the video device that is going to be used.constraints - the prefered encoding properties for the created track (replaces 'resolution' in newer releases of browsers).resolution - the prefered resolution for the local video.If that property is not set GUM will try to get all available devices. devices - array with the devices - "desktop", "video" and "audio" that will be passed to GUM.You can change the following properties there: options - JS object with configuration options for the local media tracks.If rejected, passes JitsiTrackError instance to catch block. JitsiMeetJS.createLocalTracks(options) - Creates the media tracks and returns them through Promise object. It is disabled because not very useful (if the client can use udp, it likely can connect to jvb directly over udp too but it can be useful to still enable udp turn when an udp turn is known to be whitelisted on a network) `useTurnUdp` - boolean property (default false). `preferredCodec` - the mime type of the codec that needs to be made the preferred codec for the connection. `disabledCodec` - the mime type of the code that should not be negotiated on the peerconnection. `disableRtx` - (optional) boolean property (default to false). `callStatsCustomScriptUrl` - (optional) custom url to access callstats client script If specified this object will be used for storing data instead of `localStorage`. `externalStorage` - Object that implements the Storage interface. `enableAnalyticsLogging` - boolean property (default false). `disableThirdPartyRequests` - if true - callstats will be disabled and the callstats API won't be included. Enables/disables attaching global onerror handler (window.onerror). `enableWindowOnErrorHandler` - boolean property (default false). Hope that hepls, let me know if you have any questions.- `disableAudioLevels` - boolean property. On Android you need to add a new method to this interface: Then you need to add a method to the delegate on iOS: Note that we follow each platform’s usual naming conventions so CONFERENCE_TERMINATED becomes conferenceTerminated, and if you add say PARTICIPANT_JOINED, then it will become participantJoined. ![]() The native module is implemented for iOS here: and Android here: You don’t need to change anything there, but it may give you a better view on how this works internally. Then if you follow the code you’ll see that it ends up calling a sendEvent function: the parameters should be self-explanatory. (the action in this case if CONFERENCE_LEFT, but we emit a CONFERENCE_TERMINATED one for reasons that are not important for understanding how this works or adding more events) Let’s follow all that with CONFERENCE_TERMINATED as an example.įirst we need to import the action type, which is really a string: The delegate / listener method with that name is found and called.On the native side, the action name is transofrmed to the event name as follows: CONFERENCE_TERMINATED -> onConferenceTerminated.The mobile “External API” module picks it up and calls native function with the event and data.The way sending events from JS to Native works as follows: I happen to be off these days, with not much time.
0 Comments
Leave a Reply. |