html文字转语音代码,【JavaScript】实现文本转语音功能
JavaScript 代码:
// 初始化 speechSynthesis API
const synth = window.speechSynthesis
// 获取 DOM 节点
const body = document.querySelector('body')
const textForm = document.querySelector('form')
const textInput = document.querySelector('#text-input')
const voiceSelect = document.querySelector('#voice-select')
const rate = document.querySelector('#rate')
const rateValue = document.querySelector('#rate-value')
const pitch = document.querySelector('#pitch')
const pitchValue = document.querySelector('#pitch-value')
let voices = []
function getVoiceList() {
voices = synth.getVoices()
// 循环 voices 数组,并逐一创建一个 option
voices.forEach((voice) => {
const option = document.createElement('option')
option.textContent = voice.name
// 设置 option 属性
option.setAttribute('data-lang', voice.lang)
option.setAttribute('data-name', voice.name)
voiceSelect.appendChild(option)
})
}
// synth.getVoices() 为异步执行
// synth.getVoices() 方法将在 synth.onvoiceschanged 触发时运行
// 因此须有如下语句,否则 synth.getVoices() 返回空数组
getVoiceList()
if (synth.onvoiceschanged !== undefined) {
synth.onvoiceschanged = getVoiceList
}
// 发音方法
function speakIt() {
// 若正在发音则直接返回
if (synth.speaking) {
return
}
if (textInput.value != '') {
// 添加 gif 动画
body.style.background = '#141414 url(./img/wave.gif) repeat'
body.style.backgroundPositionY = '-50px'
// 获取发音文本
const speakText = new SpeechSynthesisUtterance(textInput.value)
// 发音结束后触发的方法
speakText.onend = (e) => {
body.style.background = '#141414'
}
// 发音出错是触发的方法
speakText.onerror = (e) => {
alert('出现错误,请重试。')
}
// 获取 select 框当前选中的语言项并获取其 data-name 属性值
const selectVoice = voiceSelect.selectedOptions[0].getAttribute('data-name')
// 遍历 voices 数组,在 voice.name 中找到与上方 select 中选择的语言一致的选项
// 并把它赋值给 speakText.voice
voices.forEach((voice) => {
if (voice.name === selectVoice) {
speakText.voice = voice
}
})
// 设置发音速率
speakText.rate = rate.value
// 设置发音音调
speakText.pitch = pitch.value
// 开始发音
synth.speak(speakText)
}
}
// 提交表单
textForm.addEventListener('submit', (e) => {
e.preventDefault()
speakIt()
})
// 改变速率右侧的数值
rate.addEventListener('change', (e) => {
rateValue.textContent = rate.value
})
// 改变音调右侧的数值
pitch.addEventListener('change', (e) => {
pitchValue.textContent = pitch.value
})
html文字转语音代码,【JavaScript】实现文本转语音功能相关推荐
- 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。
1.实现效果如下: 输入文字(支持中英文),点击转换生成***.wav文件,点击下载到本地就可. 生成后的音频文件播放,时长1分8秒 2.实现代码: 这次采用jacob实现,相比百度AI需要联网,本项 ...
- php在线拍照代码,Javascript+PHP实现在线拍照功能
实现这个功能的前提是你的电脑设备上需要安装有摄像头设备,以及你的浏览器需要支持flash. HTML Javascript+PHP实现在线拍照功能 在body中加入一个用于调用摄像组件的容器id#ca ...
- php文字左右滚动代码,JavaScript
js文字横向滚动特效 本文为大家分享了js文字横向滚动特效代码,具体实现内容如下: 页面布局 恭喜793765***获得 50元巨人点卡奖励 恭喜793765***获得 50元巨人点卡奖励 恭喜793 ...
- 语音识别(1)四行代码,完成文本转换语音
语音识别,目标是:用电脑自动将人类的语音内容转换为相对因的文字,和将文字转换为语音. 文本➨语音: 使用pyttsx:python的包,直接使用pip进行安装. pip install pyttsx3 ...
- html 文字输出语音,html 录音与文本转语音demo
$(function(){ mui.init() var rec=Recorder();//使用默认配置,mp3格式 $("#but").click(function(){ con ...
- html调用讯飞语音文本朗读,(原创)讯飞输入法的妙用:语音翻译+智能OCR + 文本转语音播报...
重点: 语音翻译在第二,第三页: OCR: 也就是图片直接转文本的功能介绍在第三,第四页: 把转出来的文本直接朗读,并且配上背景音乐的介绍在第八页 - 第十二页: 前几年有人问我手机上有没有那种可以读 ...
- html5语音读取文字_资源:文本转语音的神器!快来!
文字转语音的那些事 文本转语音视频现在已经成为很多自媒体配音的一种常态了,为视频增添了搞笑的气氛色彩!也可以应用在那些质量要求不高的场景中.比如一些小说网站的小说朗读,虽然听起来声音怪怪的.比较生硬! ...
- cordova语音通话_如何在Cordova中将文本转换为语音(语音合成)
本文概述 语音合成是计算机生成的人类语音模拟.它用于将书面信息转换为更方便的听觉信息, 尤其是对于移动应用程序(如启用语音的电子邮件和统一消息传递).作为使用Javascript创建混合应用程序的开发 ...
- AVFoundation 文本转语音和音频录制 播放
现在你应该对AVFoundation有了比较深入的了解,并且对数字媒体的细节也有了一定认识,下面介绍一下 AVFoundation的文本转语音功能 AVSpeechSynthesizer 开发者可以使 ...
- C++和python代码实现朗读文本的功能(附源代码)
闲来无事,平时就喜欢看看小说之类的.突发奇想,好多小说软件上的听小说功能都是收费的,咱们写个小程序读一读,岂不是很哇塞! 看了一些资料,这里给大家分享出来,已经测试可以用. C++代码和python代 ...
最新文章
- linux shell 脚本 查找文件,Linux Shell在目录下使用for循环结合if查找文件的巧用
- aws-ec2-双网卡问题
- python画图简单代码-用python进行简单的画图操作
- SAP配置webdynpro完全手册 .
- Linux 卸载分区(会格式化分区数据)
- uva 10771——Barbarian tribes
- 算法之排序算法-选择排序与优化
- 俄美就《中导条约》磋商 普京:不希望进行军备竞赛
- drools 7.11.0.Final使用
- xml文件修改逆向android,Android逆向重置版(2)—起源
- Android 微光闪烁效果之更强Shimmer-android
- Android 换肤功能的实现(Apk插件方式)
- asp.Net下短信猫发送短信中的中文乱码解决
- 戴尔 Inspiron 530s 通过 Clover_v2.5k_r5093 安装 macOS Catalina 10.15.3 教程
- 现实世界的补丁长什么样? [ICSME 18] A Closer Look at Real-World Patches (结尾附论文阅读反思)
- 安装Jdeveloper 12C
- Cadence Allegro批量编辑元件属性的方法图文教程及视频演示
- 函数编程之Function
- 模型可视化工具-netron网页版
- Nagios Core 复现
热门文章
- plt.savefig 不保存边框_Matlab科研绘图 amp; 保存
- 计算机插件技术应用原理,计算机软件技术中插件技术的运用
- java 网页正文抽取算法_网页正文抽取算法 ContentExtractor
- python url中传递中文_Python编程:URL网址链接中的中文编码与解码
- linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结
- linux驱动向不同串口发数据,Linux串口(serial、uart)驱动程序设计
- MATLAB(四)在高等数学中的应用
- 组合数学基本工具-- 排列与组合以及简单公式
- 李航《统计学习方法》---感知机
- 安卓逆向_25 --- 密码学 之 《Java加密与解密的艺术》