前端实现语音播放

2023-11-10

0、Web Speech API

Web Speech API 使您能够将语音数据合并到 Web 应用程序中。

Web Speech API 有两个部分:
SpeechSynthesis 语音合成 (文本到语音 TTS)和 SpeechRecognition 语音识别(异步语音识别)。

0.1、语音合成

**SpeechSynthesis:**语音合成服务的控制器接口,可用于获取设备上可用的合成语音,开始、暂停以及其它相关命令的信息。
**SpeechSynthesisUtterance:**表示一次发音请求。其中包含了将由语音服务朗读的内容,以及如何朗读它(例如:语种、音高、音量)。

可以参考的写的还可以

1、原生js实现

【MDN简单例子】https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis

// 复制出来放到浏览器console回车就可以用看到效果
let utterance = new SpeechSynthesisUtterance("Hello world!");
speechSynthesis.speak(utterance);

【自己总结DOM】

var msg = new SpeechSynthesisUtterance("测试");
         //msg.rate = 2 播放语速 (默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍)
         //msg.pitch = 1.2 音调高低 (范围从0(最小)到2(最大)。默认值为1)
         //msg.text = "播放文本"
         //msg.volume = 0.5 播放音量 (区间范围是0到1,默认是1)
         //msg.voice = 1 设置用于说话的声音。
         //msg.lang = "zh-CN";  // 使用的语言:中文
         window.speechSynthesis.speak(msg);

//播放
window.speechSynthesis.speak();
//暂停
window.speechSynthesis.pause();
//继续
window.speechSynthesis.resume();
//停止
window.speechSynthesis.cancel();

VUE DOM

<template>
    <button @click="playVoice">播放语音</button>
</template>
<script>
const synth = window.speechSynthesis;
const msg = new SpeechSynthesisUtterance();
export default {
  data() {
    return {};
  },
  methods: {
    playVoice() {
      this.handleSpeak('小朋友,你是否有很多问号') // 传入需要播放的文字
    },
    // 语音播报的函数
    handleSpeak(text) {
      msg.text = text;     // 文字内容: 小朋友,你是否有很多问号
      msg.lang = "zh-CN";  // 使用的语言:中文
      msg.volume = 1;      // 声音音量:1
      msg.rate = 1;        // 语速:1
      msg.pitch = 1;       // 音高:1
      synth.speak(msg);    // 播放
    },
    // 语音停止
    handleStop(e) {
      msg.text = e;
      msg.lang = "zh-CN";
      synth.cancel(msg);
    }
  }
};
</script>

兼容情况
在这里插入图片描述

2、借助百度

(1、百度实现将文字转音频;2、将音频通过播放器播放出来)【确定需要调用第三方服务,是存在风险的】

var mp3Url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=谭老师扫码成功";
var player = new Audio(mp3Url);
player.play(); //播放 mp3这个音频对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端实现语音播放 的相关文章

  • Web自动化测试,怎样断言和形成报告?

    目录 1 自动化断言 1 1断言概念 1 2断言介绍 1 3代码案例 2 自动化报告 2 1HTMLTestRunner 2 1 1HTMLTestRunner 的下载和安装 2 1 2HTMLTestRunner使用 2 2Beautif
  • 图像噪声与图像信噪比(一)

    图像噪声与图像信噪比 一 噪声是指图像密度的随机变动 具体指的是胶片的颗粒或者说数字图像上像素级的变动 这是一个关键的图像质量因素 和图像清晰度一样重要 它和图像的动态范围相关性较强 即一定亮度范围内相机可以提供的优秀的信噪比和反差 因为它

随机推荐

  • 应急响应流程及windows/linux用到的命令

    应急响应流程 1 收集信息 搜集客户信息和中毒信息 备份 2 判断类型 判断是否是安全事件 是何种安全事件 勒索病毒 挖矿 断网 ddos等 3 深入分析 日志分析 进程分析 启动项分析 样本分析 4 清理处置 杀掉恶意进程 删除恶意文件
  • #今日论文推荐# ECCV 2022

    今日论文推荐 ECCV 2022 旷视提出半监督目标检测模型Dense Teacher 取得SOTA性能 这篇论文提出了一个新的半监督目标检测模型 Dense Teacher 推翻了当前流行的用 thresholding 生成 hard p
  • virtualBox桥接模式下openEuler镜像修改IP地址、openEule修改IP地址、openEule设置IP地址

    安装好openEuler后 设置远程登入前 必不可少的一步 主机与虚拟机之间的通信要解决 下面给出详细步骤 第一步 检查虚拟机适配器模式 桥接模式 第二步 登入虚拟机修改IP cd etc sysconfig network scripts
  • C++11的半同步半异步线程池

    C 11的半同步半异步线程池 简介 同步队列 Take函数 Add函数 Stop函数 SyncQueue完整代码 线程池 主函数测试 简介 半同步半异步线程池用的比较多 实现也比较简单 其中同步层包括同步服务层和排队层 指的是将接收的任务排
  • TIM_SetCompare1()函数没起作用

    最近使用stm32f103c8t6做控制器 需要实时调整PWM的占空比 由于TIM SetComparex 是常用的修改PWM占空比的函数 现象 在主函数里面调用TIM SetComparex 函数 但是有时候该函数起作用 有时候该函数不起
  • 用户画像及项目实例:电商用户画像

    用户画像及项目实例 所谓用户画像就是标签的汇总 从用户不同方面信息中提取有价值特征来构建标签库 并从标签库中探索信息 从而构建用户画像 用户画像建模 第一步 统一用户唯一标识 用户唯一标识是整个用户画像的核心 方便跟踪和分析一个用户的特征
  • 【C语言】数据结构的基本概念与评价算法的指标

    1 数据结构的基本概念 1 1 基本概念和术语 1 1 1 数据 数据是信息的载体 是描述客观事物属性的数 字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据是计算机程序加工的原料 1 1 2 数据元素 数据元素是数据的基
  • 防御第五次作业

    一 结合以下问题对当天内容进行总结 1 什么是恶意软件 可以指代病毒 蠕虫 特洛伊木马 勒索软件 间谍软件 广告软件和其他类型的有害软件 恶意软件的主要区别在于它必须是故意为恶 任何无意间造成损害的软件均不视为恶意软件 恶意软件的总体目标是
  • 【vue3+ts】TypeError: Cannot read properties of undefined (reading ‘commit‘)

    项目场景
  • oracle 给表或字段添加备注语法

    comment on column TableName ColumnName is 备注名 comment on table TableName is 备注名
  • 一些写得非常不错的C++网络编程库

    如果你对网络编程有兴趣的话 可以从以下内容来学习 想写好程序最基本的方法就是多看 等看明白了 多写 这样自然就成为所谓的高手 不过CPL认为更贴切的应该叫熟练手吧 转载 http www crystalclearsoftware com c
  • 计算机本科生毕业设计题目(三)

    资源下载 计算机本科生毕业设计题目 资源下载 计算机论文题目精选50篇 文章目录 一 安卓 二 java 三 ASP NET C 题目 毕设通用50篇 一 安卓 安卓 001 个人事务管理系统 安卓 002 手机订餐系统 安卓 003 无线
  • 【Redis入门笔记 07】数据库持久化

    目录 持久化是个啥 持久化策略 RDB 持久化策略 AOF 持久化是个啥 我们都知道电脑中的内存一般指的是 DRAM 属于易失性存储器 里面的电容是会漏电的 需要通电来定期刷新 当断电以后内存中的数据会慢慢消失 以速度著称的 redis 就
  • 宋浩概率论与数理统计-第三章-笔记

    概率论与数理统计 第三章 3 1 1 二维随机变量及其分布函数 联合分布 边缘分布 3 1 2 二维离散型的联合分布和边缘分布 3 1 3 二维连续型的联合分布和边缘分布 联合分布 边缘分布 3 2 1 条件分布 3 2 2 离散型的条件分
  • 创建qml自定义视频源(Qt6.3.1+取景器帧)

    前言 笔者之前记录的是Qt5 15的 当前Qt6系列无法使用 笔者本次记录下Qt6中 如何创建qml自定义视频源 一 获取视频帧 这个笔者在之前的文档中记录过 本次算是重复了 1 通过videoSink获取 关键代码如下 Camera id
  • 2、kettle知识点系列之kettle向redis同步数据

    kettle向redis同步数据 网上kettle向redis同步数据的完整案例不是很多 本文将以案例形式对整个过程进行详细讲解 一 案例描述 本文以最简单的案例描述 大家在应用过程中可根据实际情况进行调整 现有学生表和成绩表 如何将表中的
  • 转:基于Spark的电影推荐系统(包含爬虫项目、web网站、后台管理系统以及spark推荐系统)

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net u011254180 article details 80006453 本次项目是基于
  • 算法作业(4):旅行者问题

  • 华为官方翻新产品秒杀活动来袭,官方正品,7折优惠,真香!

    4月24日 华为商城 微博官宣 4月26日12 00和20 00在华为商城APP内将举办两场超级秒杀节活动 其中包括7折优惠的2款华为官方翻新手机 分别是nova 9和nova 9 Pro 华为官方翻新nova 9手机秒杀直降660元 15
  • 前端实现语音播放

    0 Web Speech API Web Speech API 使您能够将语音数据合并到 Web 应用程序中 Web Speech API 有两个部分 SpeechSynthesis 语音合成 文本到语音 TTS 和 SpeechRecog