Speech Synthesis API

简介: Speech Synthesis API

HTML5 中和 Web Speech 相关的 API 实际上有两类,一类是“语音识别( Speech Recognition )”,另外一个就是“语音合成( Speech Synthesis )”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。这里主要说的是后者,实现“文字转语音”。


语音合成

语音合成的核心是 SpeechSynthesisUtterancespeechSynthesis


SpeechSynthesisUtterance 用以构建一个语音合成实例,接收一个字符串参数。

const msg = new window.SpeechSynthesisUtterance('hello,world');点击复制复制失败已复制


对象属性

实例化后的对象可以通过修改其属性来控制语音播报,属性如下所示:

属性 描述
text 要转换的文本
lang 使用的语言,如 "zh-cn" ,默认为空,即只播放英文
voiceURI 指定使用的声音
volume 音量
rate 语速,默认值是 1 ,范围是[0.1, 10],表示语速的倍数,例如 1 是正常, 2 是正常语速的两倍
pitch 音高


提示

通常实例化 SpeechSynthesisUtterance 后需要设置 langzh-cn


回调方法

SpeechSynthesisUtterance 对象支持的回调方法如下所示:

方法 描述
onstart 语音合成开始时候的回调
onpause 语音合成暂停时候的回调
onresume 语音合成重新开始时候的回调
onend 语音合成结束时候的回调


行为控制

行为控制通过 speechSynthesis 对象来实现,主要用来控制语音播报的各种行为控制,例如开始,暂停,停止,继续播放等

行为 描述
speak() 只能接收 SpeechSynthesisUtterance 实例作为唯一的参数,加入语音播放的队列,开始播放语音
stop() 停止
resume() 继续播放
getVoices() 返回浏览器支持的语音包列表,数组


Demo

::: details Demo源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>语音测试</title>
    <script src="https://cdn.9xing.cn/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            //开始播放
            $("#begin_speak").click(function() {
                let content = $("#content").text();
                let msg = new SpeechSynthesisUtterance(content);
                msg.lang = 'zh-cn'
                window.speechSynthesis.speak(msg);
                $("#pause_speak").show();
                $("#cancel_speak").show();
            });
            //停止播放
            $("#cancel_speak").click(function() {
                window.speechSynthesis.cancel();
                $("#pause_speak").hide();
                $("#resume_speak").hide();
                $(this).hide();
            });
            //暂停播放
            $("#pause_speak").click(function() {
                window.speechSynthesis.pause();
                $("#resume_speak").show();
            });
            //继续播放
            $("#resume_speak").click(function() {
                window.speechSynthesis.resume();
                $(this).hide();
            });
        });
    </script>
</head>
<body>
    <div>
        <input type="button" id="begin_speak" value="播放">
        <input type="button" id="pause_speak" style="display:none" value="暂停">
        <input type="button" id="cancel_speak" style="display:none" value="停止">
        <input type="button" id="resume_speak" style="display:none" value="继续播放">
    </div>
    <div id="content">
        <p>Yii2.0是一个高效,安全,快速的PHP开发框架,内置了很多开发时常用的功能。Yii也内置了验证码功能,让我们在开发时可以直接使用,不过框架自带的验证码在生成后,无论是点击验证码还是重新请求生成验证码的URL,生成的验证码内容是没有变化的
        </p>
        <p>yii框架生成验证码,只需在控制器里的
            <span style="font-size: 16px; color:red;font-family: 宋体, SimSun; text-decoration: underline;">actions</span>
            <span style="font-size: 16px; font-family: 宋体, SimSun; text-decoration: none;">方法里,添加一些配置就行了</span>
        </P>
    </div>
</body>
</html>
目录
相关文章
|
3月前
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
407 0
|
6月前
|
人工智能 前端开发 API
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
109 0
|
Web App开发 移动开发 Ubuntu
HTML5 Web Speech API,让网站更有趣
Web API 变得越来越丰富,其中一个值得注意的是Web Speech API。传统的网站只能“说”,这个API的出现,让网站能“倾听”用户。这个功能已经开放了一系列的用法,非常棒。
680 0
HTML5 Web Speech API,让网站更有趣
|
2天前
|
JSON API 数据格式
京东商品SKU价格接口(Jd.item_get)丨京东API接口指南
京东商品SKU价格接口(Jd.item_get)是京东开放平台提供的API,用于获取商品详细信息及价格。开发者需先注册账号、申请权限并获取密钥,随后通过HTTP请求调用API,传入商品ID等参数,返回JSON格式的商品信息,包括价格、原价等。接口支持GET/POST方式,适用于Python等语言的开发环境。
33 11
|
26天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
75 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
13天前
|
JSON 安全 API
淘宝商品详情API接口(item get pro接口概述)
淘宝商品详情API接口旨在帮助开发者获取淘宝商品的详细信息,包括商品标题、描述、价格、库存、销量、评价等。这些信息对于电商企业而言具有极高的价值,可用于商品信息展示、市场分析、价格比较等多种应用场景。
|
21天前
|
前端开发 API 数据库
Next 编写接口api
Next 编写接口api
|
28天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
27天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
下一篇
开通oss服务