😋😛😜🤪😝🍺|

赵刚、

园龄:5年8个月粉丝:17关注:13

📂前端
🔖vue
2023-06-16 17:32阅读: 177评论: 0推荐: 0

vue-文字转语音

vue

SpeechSynthesisUtterance监听事件

onstart 开始合成

onend 合成结束

onerror 合成错误

onpause 暂停

onresume 恢复暂停

onboundary 在句子或单词边界

<template>
<div class="language">
<!-- <div class="right-lanage">-->
<img src="../../assets/img/zanting.png" alt="" style="float: right; padding-right: 20px; padding-top: 7px"
v-if="show" @click="playVoice">
<img src="../../assets/img/bofang.png" alt="" style="float: right; padding-right: 20px; padding-top: 7px"
v-else
@click="playVoice">
<p>{{text}}</p>
</div>
<!-- </div>-->
</template>
const synth = window.speechSynthesis;
const msg = new SpeechSynthesisUtterance();
data() {
return {
show: false, //显示与隐藏
text:'据盖茨基金会官方微博6月15日消息,比尔及梅琳达'
}
},
methods: {
playVoice() {
this.show = !this.show;
this.handleSpeak(this.text)
if (this.show===false) {
this.handleStop()
}
},
// 语音播报的函数
handleSpeak(text) {
msg.text = text; // 文字内容: 小朋友,你是否有很多问号
msg.lang = "zh-TW"; // 使用的语言:中文
msg.volume = 1; // 声音音量:1
msg.rate = 1; // 语速:1
msg.pitch = 1; // 音高:1
synth.speak(msg); // 播放
msg.onend = (event) => { //语音合成结束时候的回调(语音读完后触发)
alert('合成结束');
}
},
// 语音停止
handleStop(e) {
msg.text = e;
msg.lang = "zh-CN";
synth.cancel(msg);
}
},
const speak = (word) => {
let msg = new window.SpeechSynthesisUtterance(word);
// msg.text = word; //播放文案
msg.volume = '1'; // 声音的音量,区间范围是0到1,默认是1。
msg.rate = 1;// 设置播放语速,范围:0.1 - 10之间 正常为1倍播放
msg.pitch = '0'; // 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1。
msg.lang = 'zh-cn'; // 使用的语言,字符串, 例如:"zh-cn"
msg.voiceURI = 'Ting-Ting'
msg.voiceURI = 'Google 普通话(中国大陆)';
msg.onend = (event) => { //语音合成结束时候的回调(语音读完后触发)
console.log('合成结束');
}
msg.onstart = (event) => {
console.log('合成开始');
}
msg.onerror = (event) => {
console.log('onerror');
}
msg.onpause = (event) => {
console.log('暂停');
}
msg.onresume = (event) => {
console.log('恢复');
}
msg.onboundary = (event) => {
console.log('在单词或句子边界');
}
window.speechSynthesis.speak(msg);
return window.speechSynthesis;
}
let instance = null;
ele.addEventListener('click', () => {
instance = speak('123456789')
console.log(instance.getVoices());
})
pause.addEventListener('click', () => {
instance.pause()
})
resume.addEventListener('click', () => {
instance.resume()
})
cancel.addEventListener('click', () => {
instance.cancel()
})

本文作者:赵刚、

本文链接:https://www.cnblogs.com/zgboy/p/17486137.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   赵刚、  阅读(177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.

作曲 : Reol

作词 : Reol

fade away...do over again...

fade away...do over again...

歌い始めの一文字目 いつも迷ってる

歌い始めの一文字目 いつも迷ってる

どうせとりとめのないことだけど

伝わらなきゃもっと意味がない

どうしたってこんなに複雑なのに

どうしたってこんなに複雑なのに

噛み砕いてやらなきゃ伝わらない

ほら結局歌詞なんかどうだっていい

僕の音楽なんかこの世になくたっていいんだよ

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.

目の前 広がる現実世界がまた歪んだ

目の前 広がる現実世界がまた歪んだ

何度リセットしても

僕は僕以外の誰かには生まれ変われない

「そんなの知ってるよ」

気になるあの子の噂話も

シニカル標的は次の速報

麻痺しちゃってるこっからエスケープ

麻痺しちゃってるこっからエスケープ

遠く遠くまで行けるよ

安定なんてない 不安定な世界

安定なんてない 不安定な世界

安定なんてない きっと明日には忘れるよ

fade away...do over again...

fade away...do over again...

そうだ世界はどこかがいつも嘘くさい

そうだ世界はどこかがいつも嘘くさい

綺麗事だけじゃ大事な人たちすら守れない

くだらない 僕らみんなどこか狂ってるみたい

本当のことなんか全部神様も知らない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.