|  | @@ -706,7 +706,7 @@
 | 
	
		
			
				|  |  |                  src="../../../assets/NPC/qp-back.png"
 | 
	
		
			
				|  |  |                  alt=""
 | 
	
		
			
				|  |  |                  style="width: 48px; height: 48px"
 | 
	
		
			
				|  |  | -                @click="backStatus"
 | 
	
		
			
				|  |  | +                @click="backStatus(false)"
 | 
	
		
			
				|  |  |                />
 | 
	
		
			
				|  |  |                <div
 | 
	
		
			
				|  |  |                  :class="[
 | 
	
	
		
			
				|  | @@ -1249,7 +1249,7 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 返回初始状态
 | 
	
		
			
				|  |  | -    backStatus() {
 | 
	
		
			
				|  |  | +    backStatus(bool) {
 | 
	
		
			
				|  |  |        this.stopAllPlayStart();
 | 
	
		
			
				|  |  |        this.regionData = null;
 | 
	
		
			
				|  |  |        this.LY_regionData = null;
 | 
	
	
		
			
				|  | @@ -1259,12 +1259,45 @@ export default {
 | 
	
		
			
				|  |  |        this.LY_curTime = 0;
 | 
	
		
			
				|  |  |        this.xunhunShow = false;
 | 
	
		
			
				|  |  |        this.wavesurfer_big = null;
 | 
	
		
			
				|  |  | -      this.initaudioImage(1, false);
 | 
	
		
			
				|  |  | +      this.initaudioImage(1, bool ? true : false);
 | 
	
		
			
				|  |  |        if (this.LYstatus == "已结束") {
 | 
	
		
			
				|  |  |          wavesurfer_ly = null;
 | 
	
		
			
				|  |  |          this.initLYaudioImage(1, false);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    changetime() {
 | 
	
		
			
				|  |  | +      let _this = this;
 | 
	
		
			
				|  |  | +      if (_this.curSentIndex != 0) {
 | 
	
		
			
				|  |  | +        _this.item.forEach((items) => {
 | 
	
		
			
				|  |  | +          items.timeList.forEach((it) => {
 | 
	
		
			
				|  |  | +            let AllNullTime = 0;
 | 
	
		
			
				|  |  | +            for (let i = _this.curSentIndex; i > 0; i--) {
 | 
	
		
			
				|  |  | +              if (i > 0) {
 | 
	
		
			
				|  |  | +                AllNullTime +=
 | 
	
		
			
				|  |  | +                  _this.curQue.wordTime[i].bg - _this.curQue.wordTime[i - 1].ed;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            it.wordBg =
 | 
	
		
			
				|  |  | +              it.wordBg - _this.curQue.wordTime[_this.curSentIndex].bg;
 | 
	
		
			
				|  |  | +            it.wordEd =
 | 
	
		
			
				|  |  | +              it.wordEd - _this.curQue.wordTime[_this.curSentIndex].bg;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        let AllNullTime = 0;
 | 
	
		
			
				|  |  | +        for (let i = _this.curSentIndex; i > 0; i--) {
 | 
	
		
			
				|  |  | +          if (i > 0) {
 | 
	
		
			
				|  |  | +            AllNullTime +=
 | 
	
		
			
				|  |  | +              _this.curQue.wordTime[i].bg - _this.curQue.wordTime[i - 1].ed;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        _this.ed =
 | 
	
		
			
				|  |  | +          _this.curQue.wordTime[_this.curSentIndex].ed -
 | 
	
		
			
				|  |  | +          _this.curQue.wordTime[_this.curSentIndex].bg;
 | 
	
		
			
				|  |  | +        _this.bg =
 | 
	
		
			
				|  |  | +          _this.curQue.wordTime[_this.curSentIndex].bg -
 | 
	
		
			
				|  |  | +          _this.curQue.wordTime[_this.curSentIndex].bg;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      // 切换录音模式
 | 
	
		
			
				|  |  |      cutPatternType(type) {
 | 
	
		
			
				|  |  |        let _this = this;
 | 
	
	
		
			
				|  | @@ -1275,6 +1308,7 @@ export default {
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |        this.patternType = type;
 | 
	
		
			
				|  |  |        if (type == "录音模式") {
 | 
	
		
			
				|  |  | +        this.changetime();
 | 
	
		
			
				|  |  |          this.initaudioImage(null, false);
 | 
	
		
			
				|  |  |          if (this.curQue.Bookanswer.practiceModel[this.curSentIndex]) {
 | 
	
		
			
				|  |  |            this.curjuzi(
 | 
	
	
		
			
				|  | @@ -1434,6 +1468,8 @@ export default {
 | 
	
		
			
				|  |  |        }).then((res) => {
 | 
	
		
			
				|  |  |          const objectUrl = window.URL.createObjectURL(res);
 | 
	
		
			
				|  |  |          this.wavesurfer_big.load(objectUrl);
 | 
	
		
			
				|  |  | +        let start = this.bg / 1000;
 | 
	
		
			
				|  |  | +        let end = this.ed / 1000;
 | 
	
		
			
				|  |  |          that.wavesurfer_big.on("ready", function (e) {
 | 
	
		
			
				|  |  |            if (!that.regionData) {
 | 
	
		
			
				|  |  |              that.wavesurfer_big.enableDragSelection({
 | 
	
	
		
			
				|  | @@ -1442,7 +1478,7 @@ export default {
 | 
	
		
			
				|  |  |              that.wavesurfer_big.clearRegions(); // 音频加载完成
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (!audioRate) {
 | 
	
		
			
				|  |  | -            that.wavesurfer_big.play();
 | 
	
		
			
				|  |  | +            that.wavesurfer_big.play(start, end);
 | 
	
		
			
				|  |  |            } else {
 | 
	
		
			
				|  |  |              if (isPlaying) {
 | 
	
		
			
				|  |  |                that.playMusic("play");
 | 
	
	
		
			
				|  | @@ -1534,21 +1570,14 @@ export default {
 | 
	
		
			
				|  |  |          that.ShowcurentTime = newtime;
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    curjuzi(src, playBool) {
 | 
	
		
			
				|  |  | +    curjuzi(src) {
 | 
	
		
			
				|  |  |        let _this = this;
 | 
	
		
			
				|  |  | -      let start = this.bg / 1000;
 | 
	
		
			
				|  |  | -      let end = this.ed / 1000;
 | 
	
		
			
				|  |  | -      if (playBool) {
 | 
	
		
			
				|  |  | -        _this.wavesurfer_big.play(start, end);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |        let node = document.getElementById("waveform_big");
 | 
	
		
			
				|  |  |        node.children[0].style.height = "130px";
 | 
	
		
			
				|  |  |        let lynode = document.getElementById("ly_big");
 | 
	
		
			
				|  |  |        lynode.style.display = "flex";
 | 
	
		
			
				|  |  |        if (src) {
 | 
	
		
			
				|  |  |          _this.LY_url = src;
 | 
	
		
			
				|  |  | -        this.initLYaudioImage(1);
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          let node = document.getElementById("waveform_big");
 | 
	
		
			
				|  |  |          node.children[0].style.height = "308px";
 | 
	
	
		
			
				|  | @@ -2091,6 +2120,7 @@ export default {
 | 
	
		
			
				|  |  |        _this.pauseAudio();
 | 
	
		
			
				|  |  |        _this.isPlaying = false;
 | 
	
		
			
				|  |  |        let item = JSON.parse(JSON.stringify(_this.sentList[_this.curSentIndex]));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        if (item.sentArr) {
 | 
	
		
			
				|  |  |          _this.item = item.sentArr;
 | 
	
		
			
				|  |  |          _this.enwords = item.enwords;
 | 
	
	
		
			
				|  | @@ -2100,6 +2130,7 @@ export default {
 | 
	
		
			
				|  |  |        _this.sentList.forEach((item) => {
 | 
	
		
			
				|  |  |          this.isCollArr.push(false);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        _this.bg = _this.curQue.wordTime[_this.curSentIndex].bg;
 | 
	
		
			
				|  |  |        _this.ed = _this.curQue.wordTime[_this.curSentIndex].ed;
 | 
	
		
			
				|  |  |        let maxTime = (_this.ed - _this.bg) / 1000;
 | 
	
	
		
			
				|  | @@ -2109,12 +2140,15 @@ export default {
 | 
	
		
			
				|  |  |          _this.maxTime = maxTime;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        if (this.patternType == "录音模式") {
 | 
	
		
			
				|  |  | +        this.changetime();
 | 
	
		
			
				|  |  |          if (this.curQue.Bookanswer.practiceModel[this.curSentIndex]) {
 | 
	
		
			
				|  |  | +          this.backStatus(true);
 | 
	
		
			
				|  |  |            this.curjuzi(
 | 
	
		
			
				|  |  |              this.curQue.Bookanswer.practiceModel[this.curSentIndex].recordSrc
 | 
	
		
			
				|  |  |            );
 | 
	
		
			
				|  |  |            this.LYstatus = "已结束";
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | +          this.backStatus(true);
 | 
	
		
			
				|  |  |            this.curjuzi();
 | 
	
		
			
				|  |  |            this.LYstatus = "未开始";
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -2293,7 +2327,7 @@ export default {
 | 
	
		
			
				|  |  |              let start = this.bg / 1000;
 | 
	
		
			
				|  |  |              let end = this.ed / 1000;
 | 
	
		
			
				|  |  |              if (time * 1000 == this.ed || this.curTime * 1000 == 0) {
 | 
	
		
			
				|  |  | -              this.wavesurfer_big.play();
 | 
	
		
			
				|  |  | +              this.wavesurfer_big.play(start, end);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                this.wavesurfer_big.play(this.curTime / 1000, end);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -3154,12 +3188,12 @@ export default {
 | 
	
		
			
				|  |  |  <style lang="scss">
 | 
	
		
			
				|  |  |  #waveform_big {
 | 
	
		
			
				|  |  |    > :nth-child(1) {
 | 
	
		
			
				|  |  | -    overflow: hidden !important;
 | 
	
		
			
				|  |  | +    overflow-x: scroll;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  #waveform_ly {
 | 
	
		
			
				|  |  |    > :nth-child(1) {
 | 
	
		
			
				|  |  | -    overflow: hidden !important;
 | 
	
		
			
				|  |  | +    overflow-x: scroll;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  .NPC-Big-Book-preview-green {
 |