{"id":3724,"date":"2021-10-01T18:06:50","date_gmt":"2021-10-01T10:06:50","guid":{"rendered":"https:\/\/www.enablex.io\/developer\/?page_id=3724"},"modified":"2025-04-04T19:02:55","modified_gmt":"2025-04-04T11:02:55","slug":"web-toolkit","status":"publish","type":"page","link":"https:\/\/doc.smartflomeet.ttns.in\/developer\/video-api\/client-api\/web-toolkit\/","title":{"rendered":"Web SDK &#8211; Video API"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote\"><p>The Web SDK is used to integrate the RTC sessions with your Web Applications. The SDK consists of a JavaScript Library with APIs required to communicate with the Signaling Server and Media Server and to listen to event-based notifications during a session. The library needs to be added in the HTML page.<\/p><\/blockquote>\n\n\n\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link has-very-light-gray-color has-text-color no-border-radius\" href=\"\/developer\/wp-content\/uploads\/video-sdk\/web\/EnxRtc.js.v3.1.6.zip\">Download Web SDK v3.1.6<\/a><\/div>\n\n\n\n<p class=\"has-text-align-center has-very-dark-gray-color has-text-color has-small-font-size\">Released:  February 20, 2025 <\/p>\n\n\n\n<a name=\"toc\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4>Table of Contents<\/h4>\n\n\n\n<ul><li><strong>General<\/strong><ul><li><a href=\".\/how-to-use\/\">How to use Web SDK?<\/a><\/li><\/ul><\/li><li><strong>Media Device<\/strong><ul><li><a href=\".\/get-devices\/\">Get list of Audio &amp; Video Devices<\/a><\/li><\/ul><\/li><li><a href=\".\/local-stream\/#init-stream\"><strong>Create Local Stream<\/strong><\/a><ul><li><a href=\".\/local-stream\/#init-stream-default-device\">Initiate Stream with default Devices<\/a><\/li><li><a href=\".\/local-stream\/#init-stream-specific-device\">Initiate Stream with specified Devices<\/a><\/li><li><a href=\".\/local-stream\/#device-access\">Handle Device Access for Audio\/Video Stream<\/a><\/li><li><a href=\".\/local-stream\/#init-stream-file-url\">Initiate Stream with Local File &amp; Remote URL<\/a><\/li><li><a href=\".\/local-stream\/#init-stream-screen-share\">Initiate Stream with Screen Share<\/a><\/li><li><a href=\".\/local-stream\/#init-stream-multi-video-layers\">Initiate Stream with Multiple Video Layers<\/a><\/li><\/ul><\/li><li><strong><a href=\".\/room-connection\/\"><strong>Room Connection<\/strong><\/a><\/strong><ul><li><a href=\".\/room-connection\/#init-room\">Initiate a Room<\/a><\/li><li><a href=\".\/room-connection\/#connect-room\">Connect to Room<\/a><\/li><li><a href=\".\/room-connection\/#join-room\">Join a Room without or with Stream<\/a><\/li><li><a href=\".\/room-connection\/#disconnect-room\">Disconnect from a Room<\/a><\/li><li><a href=\".\/room-connection\/#handle-disconnect-reconnect\">Handle Disconnection &amp; Re-connections<\/a><\/li><li><a href=\".\/video-quality-adaption\/\">Quality Adaption with Bandwidth<\/a><\/li><\/ul><\/li><li><a href=\".\/publishing-local-stream\/#publish-stream\"><strong>Handle Local Stream<\/strong><\/a> <ul><li><a href=\".\/publishing-local-stream\/#publish-stream\">Publish Stream<\/a><\/li><li><a href=\".\/publishing-local-stream\/#unpublish-stream\">Unpublish Stream<\/a><\/li><li><a href=\".\/publishing-local-stream\/#close-stream\">Close Stream<\/a><\/li><li><a href=\".\/switch-camera-mic-speaker\/\">Switch Source Media Devices of Published Stream<\/a><ul><li><a href=\".\/switch-camera-mic-speaker\/#switch-camera-mic\">Switch Camera &amp; Microphone of Published Stream<\/a><\/li><li><a href=\".\/switch-camera-mic-speaker\/#switch-camera\">Switch Camera of Published Stream<\/a><\/li><li><a href=\".\/switch-camera-mic-speaker\/#switch-mic\">Switch Microphone of Published Stream<\/a><\/li><li><a href=\".\/switch-camera-mic-speaker\/#switch-speaker\">Switch Speaker<\/a><\/li><\/ul><\/li><li><a href=\".\/mute-audio-video-stream\/#mute-unmute-audio\">Mute \/ Unmute Audio in a Stream<\/a><\/li><li><a href=\".\/mute-audio-video-stream\/#mute-unmute-video\">Mute \/ Unmute Video in a Stream<\/a><\/li><\/ul><\/li><li><strong>Handle Remote Streams<\/strong><ul><li><a href=\".\/subscribing-remote-streams\/\">Subscribe \/ Unsubscibe Remote Streams<\/a><\/li><li><a href=\".\/active-talkers\/#active-talkers\">Handle Active Talkers<\/a> <ul><li><a href=\".\/active-talkers\/#get-talker-count\">Get Talker Count<\/a><\/li><li><a href=\".\/active-talkers\/#set-talker-count\">Set Talker Count<\/a><\/li><li><a href=\".\/active-talkers\/#get-max-talkers\">Get Maximum Permissible Talker Count<\/a><\/li><\/ul><\/li><li><a href=\".\/receiving-video-quality\/\">Opt to receive desired Video Quality<\/a><\/li><\/ul><\/li><li><a href=\".\/stream-information\/\"><strong>Know Your Stream<\/strong> <\/a><ul><li><a href=\".\/stream-information\/#get-id\">Get Stream ID<\/a><\/li><li><a href=\".\/stream-information\/#get-attributes\">Get Stream Attributes<\/a><\/li><li><a href=\".\/stream-information\/#configure-stream\">Configure Stream<\/a><\/li><li><a href=\".\/stream-information\/#update-stream-attributes\">Update Stream Attributes<\/a><\/li><\/ul><ul><li><a href=\".\/stream-information\/#track-availability\">Verify availability of Media Tracks in Stream<\/a><\/li><li><a href=\".\/play-stream\/\">Play Stream<\/a><\/li><\/ul><\/li><li><strong>In-Session Communication<\/strong><ul><li><a href=\".\/chat\/\">Public, Private &amp; Group Messaging<\/a><\/li><li><a href=\".\/custom-signalling\/\">Custom Signalling<\/a><\/li><li><a href=\".\/file-share\/\">File Sharing<\/a><ul><li><a href=\".\/file-share\/#upload-file\">Upload File to share<\/a><\/li><li><a href=\".\/file-share\/#download-file\">Download shared File<\/a><\/li><li><a href=\".\/file-share\/#initiate-file-download\">Initiate File Download<\/a><\/li><li><a href=\".\/file-share\/#cancel-upload\">Cancel File Upload<\/a><\/li><li><a href=\".\/file-share\/#cancel-download\">Cancel File Download<\/a><\/li><\/ul><\/li><li><a href=\".\/screen-share\/\">Screen Share<\/a><\/li><li><a href=\".\/canvas-streaming\/\">Canvas Streaming<\/a><\/li><\/ul><\/li><li><strong>Session Management<\/strong><ul><li><a href=\".\/recording\/\">Record a Session<\/a><\/li><\/ul><ul><li><a rel=\"noreferrer noopener\" href=\".\/hard-muting\/#hard-mute-unmute-room\" target=\"_blank\">Hard Mute \/ Unmute Room<\/a><\/li><li><a href=\".\/hard-muting\/#hard-mute-unmute-participants\">Hard Mute \/ Unmute Participants<\/a><\/li><li><a href=\".\/room-entry-restriction\/#lock-unlock-room\">Lock \/ Unlock Room<\/a><\/li><li><a href=\".\/disconnect-user\/\">Disconnect User<\/a><\/li><li><a href=\".\/session-extension-closure\/#destroy-session\">Destroy Session<\/a><\/li><li><a href=\".\/room-entry-restriction\/#allow-deny-room-entry\">Moderate Participants&#8217; entry to Session<\/a><\/li><li><a href=\".\/room-entry-restriction\/#wait-for-moderator\">Wait for Moderator<\/a><\/li><li><a href=\".\/participant-role-switch\/\">Change Participant Role<\/a><\/li><li><a href=\".\/pin-user\/\">Pin User Stream(s)<\/a><\/li><li><a href=\".\/spotlight-user\/\">Spotlight<\/a><\/li><li><a href=\".\/room-mode-switch\/\">Switch Room Mode<\/a><\/li><\/ul><\/li><li><a href=\".\/break-out-room\/\"><strong>Break-Out Room<\/strong><\/a><ul><li><a href=\".\/break-out-room\/#create-breakout-room\">Create Break-Out Room<\/a><\/li><li><a href=\".\/break-out-room\/#invite-breakout-room\">Invite Users to join a Break-Out Room<\/a><\/li><li><a href=\".\/break-out-room\/#create-breakout-room-invite\">Create Break-Out Room &amp; Auto-Invite Users to join<\/a><\/li><li><a href=\".\/break-out-room\/#join-breakout-room\">Join Break-Out Room<\/a><\/li><li><a href=\".\/break-out-room\/#reject-break-out-room\">Reject Break-Out Room Invitation<\/a><\/li><li><a href=\".\/break-out-room\/#pause-resume-parent-room\">Pause\/Resume Parent Room<\/a><\/li><li><a href=\".\/break-out-room\/#mute-unmute-parent-room\">Mute\/Unmute Parent Room<\/a><\/li><li><a href=\".\/break-out-room\/#disconnect-breakout-room\">Disconnect from Break-Out Room<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\".\/break-out-room\/#clearall-breakout-rooms\" target=\"_blank\">Clear All Break-Out Rooms<\/a><\/li><\/ul><ul><li><a rel=\"noreferrer noopener\" href=\".\/break-out-room\/#destroyall-breakout-rooms\" target=\"_blank\">Handle All Destroyed Break-Out Room<\/a><\/li><\/ul><\/li><li><a href=\".\/floor-access-control\/\"><strong>Floor Access Control in Lecture Mode<\/strong><\/a><ul><li><a href=\".\/floor-access-control\/#request-floor-access\">Request Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#cancel-floor-access\">Cancel Requested Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#deny-floor-access\">Deny Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#grant-floor-access\">Grant Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#finish-floor-access\">Finish Granted Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#release-floor-access\">Release Granted Floor Access<\/a><\/li><li><a href=\".\/floor-access-control\/#invite-floor\">Invite Participant to Floor<\/a><\/li><\/ul><\/li><li><strong>Live Stats<\/strong><ul><li><a href=\".\/live-media-statistics\/\">Get Live Media Statistics<\/a><\/li><li><a href=\".\/talker-noise-notification\/\">Get Talker Notification<\/a><\/li><\/ul><\/li><li><strong>Utilities<\/strong><ul><li><a href=\".\/session-extension-closure\/#extend-session\">Extend Session<\/a><\/li><\/ul><ul><li><a href=\".\/console-logging\/\">Manage Console Log<\/a><\/li><\/ul><ul><li><a href=\".\/pre-call-test\/\">Pre-Call Test<\/a><\/li><li><a href=\".\/bitrate-status-of-client\/\">Get Bitrate Status of Client<\/a><\/li><li><a href=\".\/take-image-snapshot\/\">Make Image Snapshot from Video Stream<\/a><\/li><li><a href=\".\/audio-only-mode\/\">Change to Audio Only Mode<\/a><\/li><\/ul><\/li><li><strong>SDK Method Index<\/strong> (By Class)<ul><li><a href=\".\/enxrtc\/\">EnxRtc &#8211; The Base Class<\/a><\/li><li><a href=\".\/enxroom\/\">EnxRoom &#8211; Room Handler<\/a><\/li><li><a href=\".\/enxstream\/\">EnxStream &#8211; Stream Handler<\/a><\/li><li><a href=\".\/logger\/\">Logger &#8211; Log Manager<\/a><\/li><\/ul><\/li><\/ul>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\"><\/div>\n\n\n\n<div class=\"wp-block-column\"><\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-right\"><a href=\".\/how-to-use\/\">How to use Web SDK<\/a> \u2192<\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Web SDK is used to integrate the RTC sessions with your Web Applications. The SDK consists of a JavaScript Library with APIs required to communicate with the Signaling Server and Media Server and to listen to event-based notifications during a session. The library needs to be added in the HTML page. Download Web SDK v3.1.6 Released: February 20, 2025 Table of Contents General How to use Web SDK? Media&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3718,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":""},"featured_image_src":null,"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"featured":false,"featured-large":false},"uagb_author_info":{"display_name":"vcxdevwpadmin","author_link":"https:\/\/doc.smartflomeet.ttns.in\/developer\/author\/vcxdevwpadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"The Web SDK is used to integrate the RTC sessions with your Web Applications. The SDK consists of a JavaScript Library with APIs required to communicate with the Signaling Server and Media Server and to listen to event-based notifications during a session. The library needs to be added in the HTML page. Download Web SDK&hellip;","_links":{"self":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/3724"}],"collection":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/comments?post=3724"}],"version-history":[{"count":0,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/3724\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/3718"}],"wp:attachment":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/media?parent=3724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}