vue3前端 speak-tts 详细说明

vue3前端 speak-tts 详细说明@[toc]

概要

前端添加tts文本转语音,实现文本朗读,重要是free
使用前安装

npm install speak-tts

引用检测浏览器是否支持

import Speech from 'speak-tts';
const speech = new Speech();
if(speech.hasBrowserSupport()) { // 检测浏览器是否支持,returns a boolean
	console.log("语音引擎加载成功")
}

speech定义

speech.init({
    volume: 0.6, // 音量0-1
    lang: 'zh-CN', // 语言
    rate: 1, // 语速1正常语速,2倍语速就写2
    pitch:1, // 音调
    voice:'Microsoft Yaoyao - Chinese (Simplified, PRC)',//支持Microsoft Huihui - Chinese (Simplified, PRC),Microsoft Kangkang - Chinese (Simplified, PRC),Microsoft Yaoyao - Chinese (Simplified, PRC)
    listeners: {
      // 事件
      onvoiceschanged: voices => {
        // console.log('事件声音已更改', voices);
      },
    },
  })
  .then(data => {
    console.log('语音已准备好,声音可用', data);
  })
  .catch(e => {
    console.error('初始化时发生错误 : ', e);
  });

voice 可选择朗读人音色,zh-CN语言就这三种音色,有点少,但免费

被调用方法

function voice() {
  speech.speak({
      text: '支付宝到账100万元', //这里使用文字或者i18n 都可以 看自己需求
    })
    .then(() => {
      console.log('Success !');
    })
    .catch(e => {
      console.error('An error occurred :', e);
    });
}

vue模板中添加触发方法按钮

<template>
  <h1 @click="voice">语音测试</h1>
</template>

小结

` 全部完成了,就可以进行页面调试了

### Vue3 中实现语音播报功能的方式 #### 使用 `speak-tts` 插件 `speak-tts` 是一种基于 Web Speech API 的插件,专门用于解决长语音播放不流畅的问题并进行了多项优化[^1]。此插件非常适合在 Vue3 项目中集成以提供高质量的语音播报服务。 安装该插件可以通过 npm 或 yarn 完成: ```bash npm install speak-tts --save ``` 或者 ```bash yarn add speak-tts ``` 接着,在项目的入口文件或组件内部引入并初始化这个库: ```javascript import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; import Speak from &#39;speak-tts&#39;; const app = createApp(App); // 初始化 speak-tts 配置 const speak = new Speak({ volume: 1, // 设置音量大小,默认为1 lang: "zh-CN", // 设定使用的语言为中国普通话 }); app.config.globalProperties.$SpeakTTS = speak; export default app.mount(&#39;#app&#39;); ``` 现在可以在任何地方通过 `$SpeakTTS.speak({text:"要朗读的文字"})` 来触发语音播报操作。 #### 利用 Web Speech API 原生支持 除了借助第三方库外,还可以直接利用浏览器内置的支持——Web Speech API 进行简单的 TTS 功能开发[^2]。这种方式不需要额外依赖外部资源,适合轻量化需求的应用场景。 下面是一个基本的例子展示如何创建一个简单的按钮来启动语音合成: ```html <template> <button @click="startSpeaking">点击说话</button> </template> <script setup> function startSpeaking() { const utterance = new window.SpeechSynthesisUtterance(&#39;你好世界!&#39;); speechSynthesis.speak(utterance); } </script> ``` 对于更复杂的需求比如自定义发音参数,则可以进一步配置 `SpeechSynthesisUtterance` 对象属性如语速(`rate`)、音调(`pitch`)等。 #### Uni-app 和 Android Native Plugin 结合方案 如果目标平台不仅限于网页端还包括移动应用的话,那么考虑采用 uni-app 平台配合原生插件可能是更好的选择之一[^3]。这种方法允许开发者构建跨平台应用程序的同时还能充分利用设备底层能力完成高效稳定的语音播报任务。 具体来说就是先按照官方文档指导编写适用于 Android 系统下的 Java 类作为桥梁连接 JavaScript 层面的操作逻辑;之后再把编译好的 jar 文件加入到工程里供前端部分调用即可达成目的。 综上所述,无论是追求便捷快速还是高性能稳定的表现形式都有相应的解决方案可供选用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值