From 05e12ffc0cd7ca5cc0469cc7b69f9a524d722d1c Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 13 Jan 2022 17:46:52 +0800
Subject: [PATCH] 忽略模型文件
---
src/components/map/components/mapPopup.vue | 79 ++++++++++++++++++++++++++-------------
1 files changed, 52 insertions(+), 27 deletions(-)
diff --git a/src/components/map/components/mapPopup.vue b/src/components/map/components/mapPopup.vue
index 4b4b143..675dd4e 100644
--- a/src/components/map/components/mapPopup.vue
+++ b/src/components/map/components/mapPopup.vue
@@ -204,12 +204,6 @@
:preview-src-list="popupImgAtlas"
ref="popupImgs">
</el-image>
-
- <audio ref="audioControlPlay"
- style="position: fixed; left: 111111111px;"
- v-html="audioSource"
- @ended="overAudio">
- </audio>
</div>
</template>
@@ -225,7 +219,10 @@
tabBtnFlag: '教学科研行政',
QRCodeFlag: false,
audioSource: '',
- audioFlag: false
+ audioFlag: false,
+ audioCourse: false,
+ audioSynth: null,
+ audioMsg: null
}
},
computed: {
@@ -269,13 +266,26 @@
},
created () {
this.DC = global.DC
+
+ this.audioSynth = window.speechSynthesis
+ this.audioMsg = new window.SpeechSynthesisUtterance()
+
+ this.audioMsg.onend = function () {
+ this.audioSynth.cancel()
+ this.audioFlag = false
+ this.audioCourse = false
+ }
},
watch: {
introduceText: {
immediate: true,
handler (newQuestion, oldQuestion) {
- var zhText = encodeURI(newQuestion)
- this.audioSource = `<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=${zhText}" type="audio/mpeg"><embed height="0" width="0" src="http://tts.baidu.com/text2audio?text=${zhText}">`
+ this.audioSource = newQuestion
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel()
+ this.audioFlag = false
+ this.audioCourse = false
+ }
}
},
teachList: {
@@ -291,6 +301,22 @@
handler (newCode, oldCode) {
if (newCode.length > 0 && this.teachList.length == 0) {
this.tabBtnFlag = '生活服务'
+ }
+ }
+ },
+ detailsPopup: {
+ immediate: true,
+ handler (newCode, oldCode) {
+ if (newCode == false) {
+ this.audioSynth.cancel()
+ this.audioFlag = false
+ this.audioCourse = false
+ } else {
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel()
+ this.audioFlag = false
+ this.audioCourse = false
+ }
}
}
}
@@ -322,9 +348,11 @@
panoramaClick () {
if (this.audioFlag == true) {
- this.$refs.audioControlPlay.pause()
+ this.audioSynth.cancel()
this.audioFlag = false
+ this.audioCourse = false
}
+
// eslint-disable-next-line new-cap
var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
this.viewer.scene.globe.depthTestAgainstTerrain = false
@@ -343,8 +371,9 @@
monitorClick () {
if (this.audioFlag == true) {
- this.$refs.audioControlPlay.pause()
+ this.audioSynth.cancel()
this.audioFlag = false
+ this.audioCourse = false
}
// eslint-disable-next-line new-cap
var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
@@ -363,10 +392,10 @@
closeMapPopupBox () {
if (this.audioFlag == true) {
- this.$refs.audioControlPlay.pause()
+ this.audioSynth.cancel()
this.audioFlag = false
+ this.audioCourse = false
}
- this.audioSource = ''
this.$store.commit('SET_DETAILSPOPUP', false)
},
@@ -381,24 +410,20 @@
},
audioPlay () {
- if (this.audioSource == '') {
- var zhText = encodeURI(this.$refs.DomIntroduceText.innerText)
- this.audioSource = `<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=${zhText}" type="audio/mpeg"><embed height="0" width="0" src="http://tts.baidu.com/text2audio?text=${zhText}">`
- this.$refs.audioControlPlay.play()
+ if (this.audioFlag == false) {
+ this.audioMsg.text = this.audioSource
+ this.audioSynth.speak(this.audioMsg)
this.audioFlag = true
+ this.audioCourse = true
} else {
- if (this.audioFlag == true) {
- this.$refs.audioControlPlay.pause()
- this.audioFlag = false
+ if (this.audioCourse == true) {
+ this.audioSynth.pause()
+ this.audioCourse = false
} else {
- this.$refs.audioControlPlay.play()
- this.audioFlag = true
+ this.audioSynth.resume()
+ this.audioCourse = true
}
}
- },
-
- overAudio () {
- this.audioFlag = false
},
mechanismDetailPopup (num, param) {
@@ -423,7 +448,7 @@
this.newPopup(result)
this.viewer.flyToPosition(
- new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+ new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
function () {
},
3
--
Gitblit v1.9.3