@@ -177,15 +177,14 @@ var mediaConstraints = {
177177 }
178178} ;
179179
180-
181-
182180function startCamera ( mute_video , mute_audio ) {
183181 navigator . mediaDevices . getUserMedia ( mediaConstraints )
184182 . then ( ( stream ) => {
185183 myVideo . srcObject = stream ;
186184 setAudioMuteState ( mute_audio ) ;
187185 setVideoMuteState ( mute_video ) ;
188186 myVideo . autoplay = true ;
187+ myVideo . onclick = ( e ) => screenExpend ( e ) ;
189188 //start the socketio connection
190189 socket . connect ( ) ;
191190 } )
@@ -212,12 +211,40 @@ function setVideoMuteState(flag) {
212211
213212 } ) ;
214213}
214+
215215function getMyVideo ( ) {
216216 myVideo = document . getElementById ( "local_vid" ) ;
217217 myVideo . onloadeddata = ( ) => { console . log ( "W,H: " , myVideo . videoWidth , ", " , myVideo . videoHeight ) ; } ;
218218}
219+
220+ function screenReduce ( videoId ) {
221+ console . log ( "screenReduce start" ) ;
222+ console . log ( videoId ) ;
223+ document . getElementById ( videoId ) . onclick = ( e ) => screenExpend ( e ) ;
224+ checkVideoLayout ( ) ;
225+ }
226+
227+ function screenExpend ( event ) {
228+ console . log ( "screenExpend start" ) ;
229+ const video_grid = document . getElementById ( "video_grid" ) ;
230+ const videos = video_grid . querySelectorAll ( "video" ) ;
231+ const video_count = videos . length ;
232+ for ( let i = 0 ; i < video_count ; i ++ ) {
233+ videos [ i ] . style . width = "0%" ;
234+ videos [ i ] . style . height = "0%" ;
235+ videos [ i ] . style . objectFit = "cover" ;
236+ }
237+
238+ let targetVideo = document . getElementById ( event . target . id )
239+ targetVideo . style . width = "100%" ;
240+ targetVideo . style . height = "100%" ;
241+ targetVideo . style . objectFit = "cover" ;
242+
243+ targetVideo . onclick = ( ) => screenReduce ( event . target . id ) ;
244+ }
245+
219246function checkVideoLayout ( ) {
220- console . log ( "checkVideoLayout" )
247+ console . log ( "checkVideoLayout" ) ;
221248 const video_grid = document . getElementById ( "video_grid" ) ;
222249 const videos = video_grid . querySelectorAll ( "video" ) ;
223250 const video_count = videos . length ;
@@ -267,6 +294,7 @@ function makeVideoElementCustom(element_id, display_name) {
267294 vid . id = "vid_" + element_id ;
268295 vid . autoplay = true ;
269296 vid . className = "camera_video"
297+ vid . onclick = screenExpend ;
270298 return vid ;
271299}
272300function getVideoObj ( element_id ) {
@@ -459,7 +487,7 @@ const MeetingPage = () => {
459487 let senderList = [ ] ;
460488 for ( let i = 0 ; i < peerLength ; i ++ ) {
461489 var sender = _peer_list [ Object . keys ( _peer_list ) [ i ] ] . getSenders ( ) . find ( function ( s ) {
462- return s . track . kind == videoTrack . kind
490+ return s . track . kind === videoTrack . kind
463491 } ) ;
464492 senderList . push ( sender ) ;
465493 sender . replaceTrack ( videoTrack ) ;
0 commit comments