xzw 4 年之前
父節點
當前提交
649813ffcc
共有 1 個文件被更改,包括 36 次插入22 次删除
  1. 36 22
      web/public/static/js/main_2020_show.js

+ 36 - 22
web/public/static/js/main_2020_show.js

@@ -17,11 +17,11 @@ g_tourAudio.addEventListener("ended", function() {
 
 g_tourAudio.oncanplaythrough = function() {
     g_tourAudio.play();
-    // if(g_bgAudio && !g_bgAudio.paused){
-    //     manage.switchBgmState(false); 
-    //     g_bgAudio.pauseByTour = true
-    // }
-    // g_playAudio = g_tourAudio;  
+    /* if(g_bgAudio && !g_bgAudio.paused){
+        manage.switchBgmState(false); 
+        g_bgAudio.pauseByTour = true
+    }
+    g_playAudio = g_tourAudio;  */ 
 }
 
 var currentAudio = 0
@@ -4939,21 +4939,30 @@ window.Modernizr = function(n, e, t) {
                     this.goNext()
                 }
                 else{
-                    if(this.destinationItem[1] == 0){//如果是每个folder的起始
-                        g_tourAudio.pause();
-                        g_tourAudio.src = ""
-                        var musicInfo = this.model.heroLocations[this.destinationItem[0]].musicInfo
-                        if(musicInfo && musicInfo.music){
-                            if(e!='noMusic'){
-                                var o = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
-                                g_tourAudio.src = manage.dealURL(o);
-                                g_tourAudio.load()  
-                            }
+                    
+                    var musicInfo = this.model.heroLocations[this.destinationItem[0]].musicInfo
+                    if(musicInfo && musicInfo.music && e!='noMusic'){
+                        var o = musicInfo.music.includes(g_Prefix.slice(-10)) ? musicInfo.music :  g_Prefix + musicInfo.music;
+                        
+                        let audioSrc1 = g_tourAudio.src.split('/').pop();
+                        let audioSrc2 = o.split('/').pop();
+                        
+                        if(audioSrc1 == audioSrc2){//应该是继续播放该folder 
+                            if(this.destinationItem[1] == 0){//从头开始播放 因为可能暂停后然后再点该缩略图播
+                                g_tourAudio.currentTime = 0;  g_tourAudio.play();
+                            }else if(g_tourAudio.paused && g_tourAudio.currentTime < g_tourAudio.duration){//未播完
+                                g_tourAudio.play()
+                            } 
+                            
+                        }else{//很可能是该folder的起始
+                            g_tourAudio.src = manage.dealURL(o);
+                            g_tourAudio.load()  
                         }
                         
                     }
-                }
-                
+                    
+                    
+                }    
 
                 
                 if (this.onTheBus = !0,
@@ -5020,7 +5029,7 @@ window.Modernizr = function(n, e, t) {
             n.prototype.findNearestItem = function(){//找到离currentPano最近的导览
                 var result = {item:[0,0], dis:Infinity};
                 var compare = (location, item)=>{
-                    if(location.panoId != void 0){
+                    if(location.panoId != void 0 && location.panoId!= "outside"){
                         var pano = this.model.panos.index[location.panoId];
                         var dis = pano.position.distanceTo(this.player.currentPano.position)
                         if(dis<result.dis){
@@ -5101,7 +5110,7 @@ window.Modernizr = function(n, e, t) {
                 if(!isAutoStop && g_tourAudio && g_tourAudio.paused == false )
                 {
                     g_tourAudio.pause();
-                    g_tourAudio.src = ""
+                    //g_tourAudio.src = ""
                 }
             }
             ,
@@ -5297,11 +5306,15 @@ window.Modernizr = function(n, e, t) {
             }
             ,
             n.prototype.getMomentTour = function(destinationItem) {//add
+                var wholeMomentTour = window.MP_PREFETCHED_MODELDATA.momentTour || "walk"; //最外层
                 
-                if(!destinationItem || destinationItem[1] == 0) return window.MP_PREFETCHED_MODELDATA.momentTour || "walk";
+                if(!destinationItem) return wholeMomentTour
                 else{
-                    var currentLocation = this.model.heroLocations[destinationItem[0]];
-                    return currentLocation.momentTour || "walk";
+                    var currentLocation = this.model.getHeroDescriptorByIndex(destinationItem)//最内层。 如果有使用最内层
+                    if(currentLocation.momentTour)return currentLocation.momentTour;
+                    
+                    var currentLocation_ = this.model.heroLocations[destinationItem[0]];
+                    return  currentLocation_.heroLocations ? currentLocation_.momentTour : wholeMomentTour; //如果有中间层,使用中间层,否则使用最外层
                 }
             }
              
@@ -17664,6 +17677,7 @@ window.Modernizr = function(n, e, t) {
                             sid: info.sid 
                         }
                         var item = new s(l);
+                        item.momentTour = info.momentTour
                         container.push(item) 
                         return item
                     }