瀏覽代碼

Fixes active speaker avatar and active speaker audio level missmatch.

master
fo 11 年之前
父節點
當前提交
d1c634abc2
共有 6 個檔案被更改,包括 30 行新增19 行删除
  1. 1
    2
      avatar.js
  2. 14
    3
      css/videolayout_default.css
  3. 1
    0
      etherpad.js
  4. 9
    7
      index.html
  5. 1
    1
      prezi.js
  6. 4
    6
      videolayout.js

+ 1
- 2
avatar.js 查看文件

77
             //currently shown
77
             //currently shown
78
             if (activeSpeakerJid === jid && VideoLayout.isLargeVideoOnTop()) {
78
             if (activeSpeakerJid === jid && VideoLayout.isLargeVideoOnTop()) {
79
                 setVisibility($("#largeVideo"), !show);
79
                 setVisibility($("#largeVideo"), !show);
80
-                setVisibility($('#activeSpeakerAvatar'), show);
81
-                setVisibility($('#activeSpeakerAudioLevel'), show);
80
+                setVisibility($('#activeSpeaker'), show);
82
                 setVisibility(avatar, false);
81
                 setVisibility(avatar, false);
83
                 setVisibility(video, false);
82
                 setVisibility(video, false);
84
             } else {
83
             } else {

+ 14
- 3
css/videolayout_default.css 查看文件

377
     pointer-events: none;
377
     pointer-events: none;
378
 }
378
 }
379
 
379
 
380
-#activeSpeakerAudioLevel {
380
+#activeSpeaker {
381
     visibility: hidden;
381
     visibility: hidden;
382
+    width: 150px;
383
+    height: 150px;
384
+    margin: auto;
385
+    overflow: hidden;
386
+    position: relative;
387
+}
388
+
389
+#activeSpeakerAudioLevel {
382
     position: absolute;
390
     position: absolute;
383
-    top: 113px;
391
+    top: 0px;
392
+    left: 0px;
384
     z-index: 1;
393
     z-index: 1;
394
+    visibility: inherit;
385
 }
395
 }
386
 
396
 
387
 #mixedstream {
397
 #mixedstream {
389
 }
399
 }
390
 
400
 
391
 #activeSpeakerAvatar {
401
 #activeSpeakerAvatar {
392
-    visibility: hidden;
393
     width: 100px;
402
     width: 100px;
394
     height: 100px;
403
     height: 100px;
404
+    top: 25px;
395
     margin: auto;
405
     margin: auto;
396
     position: relative;
406
     position: relative;
397
     border-radius: 50px;
407
     border-radius: 50px;
398
     z-index: 2;
408
     z-index: 2;
409
+    visibility: inherit;
399
 }
410
 }
400
 
411
 
401
 .userAvatar {
412
 .userAvatar {

+ 1
- 0
etherpad.js 查看文件

42
             largeVideo = $('#largeVideo');
42
             largeVideo = $('#largeVideo');
43
 
43
 
44
         if ($('#etherpad>iframe').css('visibility') === 'hidden') {
44
         if ($('#etherpad>iframe').css('visibility') === 'hidden') {
45
+            $('#activeSpeaker').css('visibility', 'hidden');
45
             largeVideo.fadeOut(300, function () {
46
             largeVideo.fadeOut(300, function () {
46
                 if (Prezi.isPresentationVisible()) {
47
                 if (Prezi.isPresentationVisible()) {
47
                     largeVideo.css({opacity: '0'});
48
                     largeVideo.css({opacity: '0'});

+ 9
- 7
index.html 查看文件

41
     <script src="contact_list.js?v=7"></script><!-- contact list logic -->
41
     <script src="contact_list.js?v=7"></script><!-- contact list logic -->
42
     <script src="side_panel_toggler.js?v=1"></script>
42
     <script src="side_panel_toggler.js?v=1"></script>
43
     <script src="util.js?v=7"></script><!-- utility functions -->
43
     <script src="util.js?v=7"></script><!-- utility functions -->
44
-    <script src="etherpad.js?v=9"></script><!-- etherpad plugin -->
45
-    <script src="prezi.js?v=6"></script><!-- prezi plugin -->
44
+    <script src="etherpad.js?v=10"></script><!-- etherpad plugin -->
45
+    <script src="prezi.js?v=7"></script><!-- prezi plugin -->
46
     <script src="smileys.js?v=3"></script><!-- smiley images -->
46
     <script src="smileys.js?v=3"></script><!-- smiley images -->
47
     <script src="replacement.js?v=7"></script><!-- link and smiley replacement -->
47
     <script src="replacement.js?v=7"></script><!-- link and smiley replacement -->
48
     <script src="moderatemuc.js?v=4"></script><!-- moderator plugin -->
48
     <script src="moderatemuc.js?v=4"></script><!-- moderator plugin -->
49
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
49
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
50
     <script src="rtp_sts.js?v=5"></script><!-- RTP stats processing -->
50
     <script src="rtp_sts.js?v=5"></script><!-- RTP stats processing -->
51
     <script src="local_sts.js?v=2"></script><!-- Local stats processing -->
51
     <script src="local_sts.js?v=2"></script><!-- Local stats processing -->
52
-    <script src="videolayout.js?v=30"></script><!-- video ui -->
52
+    <script src="videolayout.js?v=31"></script><!-- video ui -->
53
     <script src="connectionquality.js?v=1"></script>
53
     <script src="connectionquality.js?v=1"></script>
54
     <script src="toolbar.js?v=6"></script><!-- toolbar ui -->
54
     <script src="toolbar.js?v=6"></script><!-- toolbar ui -->
55
     <script src="toolbar_toggler.js?v=2"></script>
55
     <script src="toolbar_toggler.js?v=2"></script>
66
     <script src="message_handler.js?v=2"></script>
66
     <script src="message_handler.js?v=2"></script>
67
     <script src="api_connector.js?v=2"></script>
67
     <script src="api_connector.js?v=2"></script>
68
     <script src="settings_menu.js?v=1"></script>
68
     <script src="settings_menu.js?v=1"></script>
69
-    <script src="avatar.js?v=2"></script><!-- avatars -->
69
+    <script src="avatar.js?v=3"></script><!-- avatars -->
70
     <link rel="stylesheet" href="css/font.css?v=6"/>
70
     <link rel="stylesheet" href="css/font.css?v=6"/>
71
     <link rel="stylesheet" href="css/toastr.css?v=1">
71
     <link rel="stylesheet" href="css/toastr.css?v=1">
72
     <link rel="stylesheet" type="text/css" media="screen" href="css/main.css?v=30"/>
72
     <link rel="stylesheet" type="text/css" media="screen" href="css/main.css?v=30"/>
73
-    <link rel="stylesheet" type="text/css" media="screen" href="css/videolayout_default.css?v=15" id="videolayout_default"/>
73
+    <link rel="stylesheet" type="text/css" media="screen" href="css/videolayout_default.css?v=16" id="videolayout_default"/>
74
     <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
74
     <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
75
     <link rel="stylesheet" href="css/jquery-impromptu.css?v=4">
75
     <link rel="stylesheet" href="css/jquery-impromptu.css?v=4">
76
     <link rel="stylesheet" href="css/modaldialog.css?v=3">
76
     <link rel="stylesheet" href="css/modaldialog.css?v=3">
264
                 <a target="_new"><div class="watermark leftwatermark"></div></a>
264
                 <a target="_new"><div class="watermark leftwatermark"></div></a>
265
                 <a target="_new"><div class="watermark rightwatermark"></div></a>
265
                 <a target="_new"><div class="watermark rightwatermark"></div></a>
266
                 <a class="poweredby" href="http://jitsi.org" target="_new" >powered by jitsi.org</a>
266
                 <a class="poweredby" href="http://jitsi.org" target="_new" >powered by jitsi.org</a>
267
-                <img id="activeSpeakerAvatar" src=""/>
268
-                <canvas id="activeSpeakerAudioLevel"></canvas>
267
+                <div id="activeSpeaker">
268
+                    <img id="activeSpeakerAvatar" src=""/>
269
+                    <canvas id="activeSpeakerAudioLevel"></canvas>
270
+                </div>
269
                 <video id="largeVideo" autoplay oncontextmenu="return false;"></video>
271
                 <video id="largeVideo" autoplay oncontextmenu="return false;"></video>
270
             </div>
272
             </div>
271
             <div id="remoteVideos">
273
             <div id="remoteVideos">

+ 1
- 1
prezi.js 查看文件

25
                 ToolbarToggler.dockToolbar(true);
25
                 ToolbarToggler.dockToolbar(true);
26
                 VideoLayout.setLargeVideoVisible(false);
26
                 VideoLayout.setLargeVideoVisible(false);
27
             });
27
             });
28
-            $('#activeSpeakerAvatar').css('visibility', 'hidden');
28
+            $('#activeSpeaker').css('visibility', 'hidden');
29
         }
29
         }
30
         else {
30
         else {
31
             if (prezi.css('opacity') == '1') {
31
             if (prezi.css('opacity') == '1') {

+ 4
- 6
videolayout.js 查看文件

173
 
173
 
174
         if (RTC.getVideoSrc($('#largeVideo')[0]) !== newSrc) {
174
         if (RTC.getVideoSrc($('#largeVideo')[0]) !== newSrc) {
175
 
175
 
176
-            $('#activeSpeakerAvatar').css('visibility', 'hidden');
177
-            $('#activeSpeakerAudioLevel').css('visibility', 'hidden');
176
+            $('#activeSpeaker').css('visibility', 'hidden');
178
             // Due to the simulcast the localVideoSrc may have changed when the
177
             // Due to the simulcast the localVideoSrc may have changed when the
179
             // fadeOut event triggers. In that case the getJidFromVideoSrc and
178
             // fadeOut event triggers. In that case the getJidFromVideoSrc and
180
             // isVideoSrcDesktop methods will not function correctly.
179
             // isVideoSrcDesktop methods will not function correctly.
434
         }
433
         }
435
         else {
434
         else {
436
             $('#largeVideo').css({visibility: 'hidden'});
435
             $('#largeVideo').css({visibility: 'hidden'});
436
+            $('#activeSpeaker').css('visibility', 'hidden');
437
             $('.watermark').css({visibility: 'hidden'});
437
             $('.watermark').css({visibility: 'hidden'});
438
             VideoLayout.enableDominantSpeaker(resourceJid, false);
438
             VideoLayout.enableDominantSpeaker(resourceJid, false);
439
             if(focusedVideoInfo) {
439
             if(focusedVideoInfo) {
1040
         $('#largeVideoContainer').height(availableHeight);
1040
         $('#largeVideoContainer').height(availableHeight);
1041
 
1041
 
1042
         var avatarSize = interfaceConfig.ACTIVE_SPEAKER_AVATAR_SIZE;
1042
         var avatarSize = interfaceConfig.ACTIVE_SPEAKER_AVATAR_SIZE;
1043
-        var top = (availableHeight - avatarSize) / 2;
1044
-        $('#activeSpeakerAvatar').css('top', top);
1045
-        $('#activeSpeakerAudioLevel').css('top', top - avatarSize / 4);
1046
-        $('#activeSpeakerAudioLevel').css('left', availableWidth / 2 - avatarSize * 3 / 4);
1043
+        var top = availableHeight / 2 - avatarSize / 4 * 3;
1044
+        $('#activeSpeaker').css('top', top);
1047
 
1045
 
1048
         VideoLayout.resizeThumbnails();
1046
         VideoLayout.resizeThumbnails();
1049
     };
1047
     };

Loading…
取消
儲存