Răsfoiți Sursa

修改语音输出

yangg 6 luni în urmă
părinte
comite
64adc19750

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
dist/index.html


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
dist/static/css/app.25bd829b.css


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
dist/static/js/app.045e9aa3.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
dist/static/js/app.bce488f1.js


+ 30 - 18
src/components/ai.vue

@@ -35,15 +35,18 @@
             <!-- 使用 v-html 来渲染 Markdown 文本 -->
             <div class="message-content">
               <!-- 添加文件预览区域 -->
-              <div class="message-files" v-if="message.files && message.files.length > 0">
-                <div 
-                  v-for="(file, index) in message.files" 
+              <div
+                class="message-files"
+                v-if="message.files && message.files.length > 0"
+              >
+                <div
+                  v-for="(file, index) in message.files"
                   :key="index"
                   class="message-file-item"
                 >
-                  <img 
-                    v-if="file.type.startsWith('image/')" 
-                    :src="file.url" 
+                  <img
+                    v-if="file.type.startsWith('image/')"
+                    :src="file.url"
                     class="message-image"
                     alt="uploaded image"
                   />
@@ -53,7 +56,7 @@
                   </div>
                 </div>
               </div>
-              <div 
+              <div
                 class="message-text"
                 v-html="renderMarkdown(message.message)"
                 @click="handleLinkClick"
@@ -206,6 +209,7 @@ export default {
       currentChat_id: "",
       uploadFiles: [], // 存储上传的文件
       documents: [], // 新增:专门存储文档类型文件的数组
+      currentAudio: null, // 添加当前播放的音频实例
     };
   },
   mounted() {
@@ -243,11 +247,19 @@ export default {
   methods: {
     /* 播放音频 */
     playAudio(audioBase64) {
-      console.log(audioBase64);
-      // 创建音频元素
-      const audio = new Audio(audioBase64); // 播放音频
+      // 如果有正在播放的音频,先停止它
+      if (this.currentAudio) {
+        this.currentAudio.pause();
+        this.currentAudio = null;
+      }
+
+      // 创建新的音频实例并播放
+      const audio = new Audio(audioBase64);
+      this.currentAudio = audio;
+
       audio.play().catch((error) => {
         console.error("Error playing audio:", error);
+        this.currentAudio = null;
       });
     },
     async handleFileUpload(event) {
@@ -443,16 +455,16 @@ export default {
 
       // 添加文件信息到消息中
       const files = [
-        ...this.uploadFiles.map(file => ({
+        ...this.uploadFiles.map((file) => ({
           type: file.type,
           url: file.url,
-          name: file.name
+          name: file.name,
         })),
-        ...this.documents.map(doc => ({
-          type: 'document',
+        ...this.documents.map((doc) => ({
+          type: "document",
           url: doc.url,
-          name: doc.name
-        }))
+          name: doc.name,
+        })),
       ];
 
       // 添加用户消息
@@ -462,7 +474,7 @@ export default {
         messageType: "TEXT",
         user: "user",
         done: true,
-        files: files // 添加文件数组
+        files: files, // 添加文件数组
       });
       this.userInput = "";
       this.uploadFiles = [];
@@ -539,7 +551,7 @@ export default {
         console.log("Sending to backend:", JSON.stringify(idObject));
 
         const response = await axios.post(
-          `${process.env.VUE_APP_BASE_AI_API}/milvus/getMinioURlbyDocid`,///milvus/getMinioURl
+          `${process.env.VUE_APP_BASE_AI_API}/milvus/getMinioURlbyDocid`, ///milvus/getMinioURl
           idObject,
           {
             headers: {

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff