Просмотр исходного кода

Merge branch 'master' of http://192.168.0.115:3000/chenzhiguang/guangdong_museum

tremble 4 лет назад
Родитель
Сommit
8ecfa14e19
2 измененных файлов с 36 добавлено и 14 удалено
  1. 26 12
      web/public/static/js/main_2020_show.js
  2. 10 2
      web/public/static/js/overlay.js

+ 26 - 12
web/public/static/js/main_2020_show.js

@@ -133,14 +133,14 @@ var openMenu = function(){//打开菜单  或者 播放完回到菜单
     menuSanda.opened = true
     SandaPlayingIndex = null
 }
-var closeMenu = function(){//完全关闭菜单
+var closeMenu = function(ifPause){//完全关闭菜单
     //openMenu()  
     menuSanda.closeTex && (menuSanda.plane.material.map = menuSanda.closeTex);
     menuSanda.buttons.forEach(e=>{ 
         e.visible = false 
     })
     menuSanda.opened = false
-    backToOriginVideo()
+    backToOriginVideo(ifPause)
     SandaPlayingIndex = null
     clearTimeout(timer1)
     
@@ -195,25 +195,39 @@ window.switchVideoSrc = function(src){
     var video = leftScreen.material.map.image
     video.loop = false 
     video.play()
-
-    manage.switchBgmState(false)
-    g_bgAudio.pauseByVideo = true
+    
+    if(!g_bgAudio.paused){
+        manage.switchBgmState(false)
+        g_bgAudio.pauseByVideo = true
+    }
 }
 
-var backToOriginVideo = function(){ 
+var backToOriginVideo = function(ifPause){ 
     
     var video = leftScreen.material.map.image 
     video.src = leftScreen.originVideoSrc
     video.loop = true 
     video.currentTime = 0
     
-    video.oncanplaythrough = function() {
-        video.play();
-    }
-    
     rightScreen.material.map = rightScreen.originVideoMap
     rightScreen.originVideoMap.image.currentTime = 0 
-    rightScreen.originVideoMap.image.play()
+    
+    if(leftScreen.visible && !ifPause){
+        video.oncanplaythrough = function() {
+            video.play();
+        } 
+    }else{
+        video.oncanplaythrough = null
+        video.pause()  
+    }
+    
+    
+    if(rightScreen.visible && !ifPause){
+        rightScreen.originVideoMap.image.play()
+    }else{
+        rightScreen.originVideoMap.image.pause()
+    }
+    
     
     if(g_bgAudio.pauseByVideo){
         manage.switchBgmState(true)
@@ -24138,7 +24152,7 @@ window.Modernizr = function(n, e, t) {
                         this.model.floorLogos[1].visible = false;
                     } 
                     //updateMenuVisi(false, 400)
-                    closeMenu()
+                    closeMenu(true)
                     this.overlayGroup.children.forEach((overlay)=>{
                         overlay.videoControl('stop')
                     })

+ 10 - 2
web/public/static/js/overlay.js

@@ -290,14 +290,22 @@ var initOverlay = function(THREE) {
     Overlay.prototype.videoControl = function(state){
         if(this.overlayType != "video")return
         if(!state || state == 'stop'){
-            this.plane.material.map.image.paused || this.plane.material.map.image.pause()
+            
+            if(!this.plane.material.map.image.paused){
+                this.plane.material.map.image.pause()
+                if(this.hasSound && g_bgAudio.pauseByVideo){
+                    manage.switchBgmState(true)
+                }
+            }
+               
             if(state == 'stop'){
                 this.plane.material.map.image.currentTime = 0; 
             }
+            
             //console.log("pause")
         }else if(state){ 
             this.plane.material.map.image.paused && this.plane.material.map.image.play()
-            if(this.hasSound){
+            if(this.hasSound && !g_bgAudio.paused){
                 manage.switchBgmState(false)
                 g_bgAudio.pauseByVideo = true
             }