@@ -29,7 +29,7 @@ import { BackgroundColorContext } from "comps/utils/backgroundColorContext";
29
29
import { CanvasContainerID } from "constants/domLocators" ;
30
30
import { Layers } from "constants/Layers" ;
31
31
import { trans } from "i18n" ;
32
- import { changeChildAction } from "lowcoder-core" ;
32
+ import { changeChildAction , changeValueAction } from "lowcoder-core" ;
33
33
import {
34
34
Drawer ,
35
35
HintPlaceHolder ,
@@ -282,6 +282,7 @@ let MTComp = (function () {
282
282
userid : null ,
283
283
} ) ;
284
284
const [ rtmMessages , setRtmMessages ] = useState < any > ( [ ] ) ;
285
+ const [ localUserSpeaking , setLocalUserSpeaking ] = useState < any > ( false ) ;
285
286
286
287
useEffect ( ( ) => {
287
288
dispatch (
@@ -325,6 +326,18 @@ let MTComp = (function () {
325
326
}
326
327
} , [ rtmMessages ] ) ;
327
328
329
+ useEffect ( ( ) => {
330
+ if ( localUserSpeaking === true ) {
331
+ let localObject = {
332
+ user : userId + "" ,
333
+ audiostatus : props . audioControl . value ,
334
+ streamingVideo : props . videoControl . value ,
335
+ speaking : localUserSpeaking ,
336
+ } ;
337
+ props . localUser . onChange ( localObject ) ;
338
+ }
339
+ } , [ localUserSpeaking ] ) ;
340
+
328
341
useEffect ( ( ) => {
329
342
if ( props . localUser . value ) {
330
343
let newUsers = userIds . filter ( ( item : any ) => item . user !== userId ) ;
@@ -387,13 +400,7 @@ let MTComp = (function () {
387
400
volumeInfo . uid == userId &&
388
401
props . localUser . value . speaking != speaking
389
402
) {
390
- let localObject = {
391
- user : userId + "" ,
392
- audiostatus : props . audioControl . value ,
393
- streamingVideo : props . videoControl . value ,
394
- speaking : speaking ,
395
- } ;
396
- props . localUser . onChange ( localObject ) ;
403
+ setLocalUserSpeaking ( speaking ) ;
397
404
} else {
398
405
setUpdateVolume ( { update : speaking , userid : volumeInfo . uid } ) ;
399
406
}
@@ -574,12 +581,14 @@ MTComp = withMethodExposing(MTComp, [
574
581
} else {
575
582
await turnOnCamera ( value ) ;
576
583
}
577
- comp . children . localUser . change ( {
584
+ let localData = {
578
585
user : userId + "" ,
579
586
streamingVideo : value ,
580
- audiostatus : false ,
581
- speaking : false ,
582
- } ) ;
587
+ audiostatus : comp . children . audioControl . getView ( ) . value ,
588
+ speaking : comp . children . localUser . getView ( ) . value . speaking ,
589
+ } ;
590
+
591
+ comp . children . localUser . change ( localData ) ;
583
592
comp . children . videoControl . change ( value ) ;
584
593
} ,
585
594
} ,
@@ -598,6 +607,19 @@ MTComp = withMethodExposing(MTComp, [
598
607
streamingVideo : true ,
599
608
} ) ;
600
609
610
+ comp . children . localUser . children . value . dispatch (
611
+ changeChildAction (
612
+ "localUser" ,
613
+ {
614
+ user : userId + "" ,
615
+ audiostatus : false ,
616
+ speaking : false ,
617
+ streamingVideo : true ,
618
+ } ,
619
+ false
620
+ )
621
+ ) ;
622
+ comp . children . videoControl . change ( true ) ;
601
623
await publishVideo (
602
624
comp . children . appId . getView ( ) ,
603
625
comp . children . meetingName . getView ( ) . value == ""
0 commit comments