{"id":4285,"date":"2021-11-15T18:44:54","date_gmt":"2021-11-15T10:44:54","guid":{"rendered":"https:\/\/www.enablex.io\/developer\/?page_id=4285"},"modified":"2025-02-24T15:43:36","modified_gmt":"2025-02-24T07:43:36","slug":"active-talkers","status":"publish","type":"page","link":"https:\/\/doc.smartflomeet.ttns.in\/developer\/video-api\/client-api\/android-toolkit\/active-talkers\/","title":{"rendered":"Active Talkers: Android SDK &#8211; Video API"},"content":{"rendered":"\n<h4>Table of Contents<\/h4>\n\n\n\n<ul><li><a href=\"#active-talkers\">Handle Active Talkers<\/a> <ul><li><a href=\"#get-max-talkers\">Get maximum permissible Talker Count<\/a><\/li><\/ul><ul><li><a href=\"#set-talker-count\">Set Talker Count<\/a><\/li><li><a href=\"#get-talker-count\">Get Talker Count<\/a><\/li><li><a href=\"#switch-active-talker\">Switch Active Talker View<\/a><\/li><li><a href=\"#playerview\">EnxPlayer View<\/a><ul><li><a href=\"#switch-to-playerview\">Switch to Player View<\/a><\/li><li><a href=\"#highlight-playerview-border\">Highlight EnxPlayer Border<\/a><\/li><li><a href=\"#change-playerview-background\">Change EnxPlayer Background <\/a><\/li><li><a href=\"#force-active-talker-view\">Force Reload Active Talker View<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<a name=\"active-talkers\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2>Handle Active Talkers<\/h2>\n\n\n\n<p>To avoid excessive consumption of the server and client resources,\u00a0The Portal sends a maximum of 12 actively talking users in the Room\u00a0to the client endpoint. Additionally, it sends Screen Sharing (StreamID# 101) and Canvas Stream (StreamID# 102)\u00a0if the client application supports these features.\u00a0The decision on which of the participant\u2019s streams would be played depends upon the\u00a0Active Talker List.\u00a0<\/p>\n\n\n\n<p>After getting connected to the Room, your Client endpoint will also receive <code>onStreamAdded() <\/code>callback for all the Streams (as per the max_active_talkers configured during Room Creation) available in the Room.  You need to subscribe to each of these Streams along with two extra Streams for Screen-Share and Canvas. <\/p>\n\n\n\n<p>After you connect to the room and subscribe to the available Streams, the&nbsp;<code>active-talkers-updated<\/code>&nbsp;event is triggered,&nbsp;which creates a&nbsp;new&nbsp;entry in the Active Talker List. This list keeps getting updated depending upon the&nbsp;latest talker in the Room. Hence the Active Talker List&nbsp;contains a list of talkers in ascending order at any point&nbsp;in time which means that the latest talker would be&nbsp;moved up in the list.&nbsp;Therefore, you may expect to receive the event too frequently in a noisy room. The list of Active Talkers is available in JSON format and sent through Callback&nbsp;<code>onActiveTalkerList()<\/code> to each connected endpoint whenever there is a change in the Active Talker List if <code>activeviews : list<\/code> during<a href=\"..\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\"> <code>joinRoom()<\/code><\/a>. If <code>activeviews: view <\/code>then <code>onActiveTalkerList()<\/code> is called only once after joining the Room and subscribing to the Active Talker List.<\/p>\n\n\n\n<p>Apart from the activity level,\u00a0Portal also allows\u00a0pinning of user streams in the Active Talker List regardless of their activity level in the Room. So, the Active Talkers List consists\u00a0of the\u00a0inactive\u00a0pinned users\u00a0and active talkers in ascending order.\u00a0\u00a0<\/p>\n\n\n\n<p>It must also be noted that the Active Talkers List contains Remote Streams only and hence the Active Talkers List varies for each participant&nbsp;in the Room.&nbsp;<\/p>\n\n\n\n<p><strong>Observer:<\/strong>  <\/p>\n\n\n\n<ul><li><code>setActiveTalkerListObserver<\/code> &#8211; This observer needs to be used when <code>activeviews <\/code>is set to<code> \"list<\/code>&#8221;  in the <code>roomInfo<\/code> parameter in <a href=\"..\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">joinRoom()<\/a> method. <\/li><li><code>setActiveTalkerViewObserver<\/code> &#8211; This observer needs to be used when <code>activeviews <\/code>is set to<code> \"view<\/code>&#8221; in the <code>roomInfo<\/code> parameter in <code><a href=\"..\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">joinRoom()<\/a><\/code> method.<\/li><\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Playing Active Talker Streams with a Customized View<\/h3>\n\n\n\n<p>You can choose to create your custom view for displaying the Remote Streams out of the Active Talker List by selecting <code>activeviews : list<\/code> during <code><a href=\"..\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">joinRoom()<\/a><\/code>. To play a stream out of the Active Talker List, you need to fetch every Stream&#8217;s player <code>(EnxPlayerView)<\/code> from the list and attach it to your chosen UI.<\/p>\n\n\n\n<p><strong>Class<\/strong>: <code>EnxRooom<\/code><\/p>\n\n\n\n<p><strong>Callback<\/strong>:  <code>onActiveTalkerList(List enxStreamList)<\/code>&nbsp; <\/p>\n\n\n\n<p><strong>Parameter<\/strong>: <\/p>\n\n\n\n<p><code>enxStreamList <\/code>&#8211; List of Streams received at the endpoint.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">enxRoom.setActiveTalkerListObserver(this); \/\/ Called after getting connected to the Room\n\n@Override\n\npublic void onActiveTalkerList(List&lt;EnxStream&gt; enxStreamList) {\n     for(int i = 0 ; i &lt;=enxStreamList.size();i++) {\n\tEnxPlayerView enxPlayerView = enxStreamList.get(i).mEnxPlayerView;\n\tyourview.addView(enxPlayerView);\n     }\n}<\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Playing Active Talker Streams with predefined Recycler View<\/h3>\n\n\n\n<p>You can also choose to play the Remote Streams in the Active Talker List with a custom-defined Recycler View by selecting <code>activeviews : view<\/code> during <code><a href=\"..\/room-connection\/#join-room\" target=\"_blank\" rel=\"noreferrer noopener\">joinRoom()<\/a><\/code>. In this case, you don&#8217;t have to handle the UI as the pre-defined Video Grid plays all the Streams received at the Client endpoint. <\/p>\n\n\n\n<p>When choosing this option, you can use <code>adjustLayout()<\/code> method to adjust the Video player layout to fit within its parent view. This method helps when the user rotates the screen or when the view needs to be adjusted to fit properly.<\/p>\n\n\n\n<p><strong>Class<\/strong>: <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Callback<\/strong>:  <code>onActiveTalkerView(RecyclerView recyclerView)<\/code>&nbsp; <\/p>\n\n\n\n<p><strong>Parameter<\/strong>: <\/p>\n\n\n\n<ul><li><code>recyclerView<\/code> &#8211; Recycle View <\/li><\/ul>\n\n\n\n<p><strong>Method:<\/strong> <code>public void adjustLayout()<\/code>&nbsp;\u2013 No Parameter required.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">enxRoom.setActiveTalkerViewObserver(this); \/\/ Called after getting connected to the Room\n\n@Override\n\npublic void onActiveTalkerView(RecyclerView recyclerView) {\n\tyourRemoteView.addView(recyclerView);\n}\nroom.adjustLayout();<\/pre>\n\n\n\n<p><strong>Note:<\/strong>  The Local Stream will not be included in the <code>RecycleView <\/code>even if the endpoint is talking as Local Stream is not present in the Active Talker List.<\/p>\n\n\n\n<a name=\"get-max-talkers\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Get maximum permissible Talker Count<\/h3>\n\n\n\n<p>The <code>EnxRoom.getMaxTalkers()<\/code> method provides the maximum active talkers allowed for the Room as per max_active_talkers&nbsp;configuration during&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/developer.enablex.io\/video-api\/server-api\/rooms-route\/#create-room\" target=\"_blank\">Room&nbsp;Creation<\/a>.&nbsp;This count could be of interest to the user if they choose to receive&nbsp;less&nbsp;active talkers in the Room.&nbsp;By&nbsp;default,&nbsp;the&nbsp;max_active_talkers&nbsp;is&nbsp;restricted to 12.&nbsp;<\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void getMaxTalkers()<\/code>  &#8211; No Parameter required.<\/p>\n\n\n\n<p><strong>Observer<\/strong>:   <code>public void setTalkerObserver( EnxTalkerObserver Object )<\/code><\/p>\n\n\n\n<p><strong>Callback<\/strong>:   <code>onMaxTalkerCount()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Initiate Talker Observer to receive Callbacks\nroom.setTalkerObserver(this);\n\nroom.getMaxTalkers();\n\npublic void onMaxTalkerCount(JSONObject jsonobject) {\n     \/\/ Talker info in response jsonobject:\n     \/\/ {\"result\": 0, \"maxTalkers\": 4} \n}<\/pre>\n\n\n\n<a name=\"set-talker-count\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Set Talker Count<\/h3>\n\n\n\n<p>The <code>EnxRoom.setTalkerCount()<\/code> method is used to set the number of active talkers in the Active Talkers List to a&nbsp;particular value not exceeding the <a href=\"#get-max-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">maximum permissible talker count<\/a>. This could either be ingrained&nbsp;at the application level or be&nbsp;implemented as a UI feature where the end-user has the flexibility to control the number of remote streams they want to receive.&nbsp; This method allows you to control how many Streams you would like to receive.&nbsp;<\/p>\n\n\n\n<p><strong>Class<\/strong>:   <code>EnxRoom<\/code>  <\/p>\n\n\n\n<p><strong>Method<\/strong>:   <code>public void setTalkerCount(int numTalkers)<\/code>  <\/p>\n\n\n\n<p><strong>Parameters<\/strong>:&nbsp;<code>numTalkers&nbsp;<\/code>\u2013 The Number of Talker Streams you want to receive. Range limited by <a href=\"https:\/\/www.enablex.io\/developer\/video-api\/server-api\/rooms-route\/#create-room\" target=\"_blank\" rel=\"noreferrer noopener\">max_active_talkers<\/a>, typically 0-12.<\/p>\n\n\n\n<ul><li>If you set&nbsp;<code>numTalkers&nbsp;<\/code>to any value from 1 to 12, you receive those many talkers in the Active Talker List.<\/li><li>If you set&nbsp;<code>numTalkers&nbsp;<\/code>to 0 (zero), then the list doesn\u2019t become empty, it carries 3 audio streams and no video Streams.<\/li><\/ul>\n\n\n\n<p><strong>Observer<\/strong>:   <code>public void setTalkerObserver( EnxTalkerObserver Object )<\/code><\/p>\n\n\n\n<p><strong>Callback<\/strong>:  <code>onSetTalkerCount()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Initiate Talker Observer to receive Callbacks\nroom.setTalkerObserver(this); \n\nint numTalkers = 5;\nroom.setTalkerCount(numTalkers);\n\npublic void onSetTalkerCount(JSONObject jsonobject) {\n     \/\/ Talker info in response jsonobject:\n     \/\/ {\"result\": 0, \"maxTalkers\": 4} \n}<\/pre>\n\n\n\n<p><strong>Error Codes \/ Exceptions<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Code<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>5055<\/td><td>Repeated setTalkerCount () call made while a previous request is in process. <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<a name=\"get-talker-count\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Get Talker Count<\/h3>\n\n\n\n<p>The <code>EnxRoom<\/code>.<code>getTalkerCount()<\/code> method provides you the number of active talkers to be received through <code>onActiveTalkerList()<\/code>&nbsp;callback. The method returns the number of currently active streams in the Room restricted either by the <a href=\"..\/active-talkers\/#get-max-talkers\" target=\"_blank\" rel=\"noreferrer noopener\">maximum permissible talker count<\/a> or by the <a href=\"..\/active-talkers\/#set-talker-count\" target=\"_blank\" rel=\"noreferrer noopener\">set talker count API<\/a> when invoked by the application or the user through UI. &nbsp;<\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void getTalkerCount()<\/code>  &#8211; No Parameter required.<\/p>\n\n\n\n<p><strong>Observer<\/strong>:   <code>public void  setTalkerObserver( EnxTalkerObserver Object )<\/code><\/p>\n\n\n\n<p><strong>Callback<\/strong>:   <code>onGetTalkerCount()<\/code>  <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> \/\/ Initiate Talker Observer to receive Callbacks\nroom.setTalkerObserver(this); \n\nroom.getTalkerCount();\n\npublic void onGetTalkerCount(JSONObject jsonobject) {\n     \/\/ Talker info in response jsonobject\n     \/\/ { \"result\": 0, \"numTalkers\": 4 } \n}<\/pre>\n\n\n\n<p><strong>Note<\/strong>: The Observer <code>setTalkerObserver() <\/code>needs to be initiated only once for any one or all of these method calls to receive callbacks.<\/p>\n\n\n\n<a name=\"switch-active-talker\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Switch Active Talker View <\/h3>\n\n\n\n<p><strong>Availability:<\/strong> Android SDK 2.1.2+<\/p>\n\n\n\n<p>The <code>EnxRoom.switchATView()<\/code> method provides the option to switch their talker view from leader\/gallery or vice versa. By default, the SDK gives a gallery view layout. <\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void switchATView(String param);<\/code> <\/p>\n\n\n\n<p><strong>Parameters<\/strong>:&nbsp;<code>param<\/code> \u2013 where param is leader\/gallery<\/p>\n\n\n\n<p><strong>Observer<\/strong>:   <\/p>\n\n\n\n<ul><li>For Leader View &#8211; <code>public void setActiveTalkerLeaderObserver(EnxActiveTalkerLeaderObserver enxActiveTalkerLeaderObserver)<\/code><\/li><\/ul>\n\n\n\n<ul><li>For Gallery View &#8211; <code>public void setActiveTalkerViewObserver(EnxActiveTalkerViewObserver enxActiveTalkerViewObserver)<\/code><\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Initiate AT Switch Observer to receive Callbacks for Leader View\nEnxRoom.setActiveTalkerLeaderObserver(this);  \n\n\/\/ Initiate AT Switch Observer to receive Callbacks for Gallery View\nEnxRoom.setActiveTalkerViewObserver(this);  \n\n\n\/\/ Initiate leader\/gallery view\n\nEnxRoom.switchATView(\"leader\");                                      \n\npublic void onActiveTalkerList(RelativeLayout view);            \/\/ If the user requests for Leader View\n\npublic void onActiveTalkerList(RecyclerView recyclerView);     \/\/ If the user requests for Gallery View<\/pre>\n\n\n\n<a name=\"playerview\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>PlayerView <\/h3>\n\n\n\n<p><strong>Availability:<\/strong> Android SDK 2.1.3+<\/p>\n\n\n\n<p>The PlayerView methods provide option to custom the active talker view. With the help of these methods, you get a particular Player View, and further highlight the selected player border and change the background colour of the Player View. <\/p>\n\n\n\n<a name=\"switch-to-playerview\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Switch to Player View <\/h3>\n\n\n\n<p>The <code>getPlayer()<\/code> method provides the option to get a particular Player View.<\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void EnxPlayerView getPlayer(String clientId)<\/code> <\/p>\n\n\n\n<p><strong>Parameters:<\/strong><\/p>\n\n\n\n<p><code>clientId&nbsp;<\/code>\u2013 The user that requires a particular Player View <\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Initiate EnxPlayerView\nEnxPlayerView playerView = enxRoom.getPlayer(clientID)  <\/pre>\n\n\n\n<a name=\"highlight-playerview-border\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Highlight the EnxPlayer Border <\/h3>\n\n\n\n<p>The <code>highlightBorderForClient()<\/code> method provides the choice to highlight the Player border colour using the custom ActiveTalker View option. You can highlight  the player border by passing the list of clientids.<\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void highlightBorderForClient(ArrayList&lt;String&gt; clientIds)<\/code> <\/p>\n\n\n\n<p><strong>Parameters:<\/strong><\/p>\n\n\n\n<ul><li><code>@param {Array} clientID -<\/code>&nbsp;An array of Client Ids to be highlighted.<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Highlight EnxPlayer border\nEnxRoom.highlightBorderForClient([clientid1,clientid2.......clientidn]);<\/pre>\n\n\n\n<a name=\"change-playerview-background\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Change EnxPlayerView Background Colour<\/h3>\n\n\n\n<p>The <code>changeBgColorForClients()<\/code> method provides the choice to change the background colour for a Player View using the custom ActiveTalker View option. To change the background colour of the Player, you need to pass the clientID of that EnxPlayer.<\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code>public void changeBgColorForClients(ArrayList&lt;String&gt; clientIds,String color)<\/code> <\/p>\n\n\n\n<p><strong>Parameters:<\/strong><\/p>\n\n\n\n<ul><li><code>@param {Array} clientID -<\/code>&nbsp;An array of Client Ids for the background color to be changed.<\/li><li><code>Color <\/code>&#8211; String. Color code of the background color.<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Change EnxPlayer background colour\nEnxRoom.ChangeBgColorForClients([clientId1,Clientid2.....clientIdn],\u201d#ff669900\u201d)<\/pre>\n\n\n\n<a name=\"force-active-talker-view\"><\/a>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3>Force Reload Active Talker View<\/h3>\n\n\n\n<p>The <code>forceUpdateATList()<\/code> method provides the option to force reload the active talker view after any manipulation in the view as the case may be. <\/p>\n\n\n\n<p><strong>Class<\/strong>:  <code>EnxRoom<\/code><\/p>\n\n\n\n<p><strong>Method<\/strong>:  <code><code>public void<\/code> forceUpdateATList;<\/code> <\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ Force reload Active Talker view\nEnxRoom.forceUpdateATList();<\/pre>\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\">\n<p>\u2190 <a href=\"..\/subscribing-remote-streams\/\"><\/a><a href=\"..\/subscribing-remote-streams\/\">Subscribe Remote Streams<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><a href=\"..\/\">Index<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-right\"><a href=\"\/developer\/video-api\/client-api\/android-toolkit\/receiving-video-quality\/\"><\/a><a href=\"\/developer\/video-api\/client-api\/android-toolkit\/receiving-video-quality\/\">Set Desired Video Quality<\/a> \u2192<a href=\"\/developer\/how-to-use\/\"><\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Table of Contents Handle Active Talkers Get maximum permissible Talker Count Set Talker Count Get Talker Count Switch Active Talker View EnxPlayer View Switch to Player View Highlight EnxPlayer Border Change EnxPlayer Background Force Reload Active Talker View Handle Active Talkers To avoid excessive consumption of the server and client resources,\u00a0The Portal sends a maximum of 12 actively talking users in the Room\u00a0to the client endpoint. Additionally, it sends Screen&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3740,"menu_order":0,"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":"Table of Contents Handle Active Talkers Get maximum permissible Talker Count Set Talker Count Get Talker Count Switch Active Talker View EnxPlayer View Switch to Player View Highlight EnxPlayer Border Change EnxPlayer Background Force Reload Active Talker View Handle Active Talkers To avoid excessive consumption of the server and client resources,\u00a0The Portal sends a maximum&hellip;","_links":{"self":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/4285"}],"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=4285"}],"version-history":[{"count":0,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/4285\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/pages\/3740"}],"wp:attachment":[{"href":"https:\/\/doc.smartflomeet.ttns.in\/developer\/wp-json\/wp\/v2\/media?parent=4285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}