使用Electron和Windows自带TTS进行语音合成播放

const path = require('path');
const { spawn } = require('child_process');
const { app,BrowserWindow,ipcMain  }  = require('electron');function createWindow() {let mainWindow = new BrowserWindow({ width: 800, height: 600 });mainWindow.loadURL(url.format({pathname: path.join(__dirname, 'index.html'),}));mainWindow.on('closed', () => {mainWindow = null;});
}app.on('ready', () => {createWindow();
});ipcMain.on('tts-play', (event, message) => {const child = spawn('powershell.exe', ['-command',`Add-Type -AssemblyName System.speech; $synth = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer; $synth.Speak('${message}');`,]);child.on('error', (err) => {console.error(err);});child.on('close', (code) => {console.log(`子进程已退出,返回代码 ${code}`);});});

在这里我们使用Electron的ipcMain来监听渲染进程中的“tts-play”事件,当事件发生时,使用Windows自带的TTS API来合成指定的文本,并将其播放出来。

const { ipcRenderer } = require('electron');ipcRenderer.send('tts-play', '阿巴阿巴阿巴~');

如何在Electron中打造实现语音合成播放,让Windows自带TTS助你实现离线流畅语音播报语音朗读功能相关推荐

  1. dll找不到dll electron_如何在Electron中调用Dll

    如何在Electron中调用Dll 客户端有些硬件的接口需要调试,是在电脑上连了一些硬件的设备,比如打印机.扫描仪或者进行串口通信等等.单靠JS是完成不了了,我们决定通过把C++或者C#把这些功能打包 ...

  2. Kibana:如何在 Discover 中显示图片及播放音乐

    在我之前的教程中,我有讲述可以通过 String field formatter 的方式来对一个字段进行 drilldown.具体的教程可以参阅 "Kibana:运用索引模式的 format ...

  3. 如何在java中简单实现音乐播放

    如何实现java程序播放音乐文件(以wav文件为例) Java Sound API是javaSE平台提供底层的(low-level)处理声音接口,可以实现音频文件的播放. 根据这点我们可以尝试写一个类 ...

  4. 如何在VirtualBox中启用3D加速和使用Windows Aero

    VirtualBox's experimental 3D acceleration allows you to use Windows 7's Aero interface in a virtual ...

  5. [转] 如何在VirtualBox中启用3D加速和使用Windows Aero

    VirtualBox's experimental 3D acceleration allows you to use Windows 7's Aero interface in a virtual ...

  6. 如何在MySQL中创建新的数据库(windows下)

    一.首先确保已经安装好MySQL, 如果还没有安装也没关系,可以参考:https://blog.csdn.net/beyond_f4/article/details/79894234 二.window ...

  7. 如何在wsl中安装kotlin编译器(简单有效)

    文章目录 如何在wsl中安装kotlin编译器 安装SDKMAN 安装kotlin 命令行解释器 新建kts文件运行测试 参考 如何在wsl中安装kotlin编译器 笔者系统 windows 11 w ...

  8. oracle转换人民币,月光软件站 - 编程文档 - 数据库 - 如何在ORACLE中實現人民幣大寫的轉換...

    如何在ORACLE中實現人民幣大寫的轉換 作者:   CCBZZP ORACLE在實現報表的功能是很強大的, 特別在現實的應用中會經常用到人民幣大小寫轉換的問題, 在此我寫個函數向大家簡單介紹一下, ...

  9. Illustrator 教程:如何在 Illustrator 中添加文字?

    欢迎观看illustrator教程,小编带大家学习 illustrator 的基本工具和使用技巧,了解如何在 illustrator 中添加文本.更改字体以及在字母之间添加间距. illustrato ...

最新文章

  1. 数据结构学习系列文章合集
  2. python第三方库Requests的基本使用
  3. 想要成为Linux大神,你应该和我一样这样做!
  4. 阈值Java_OpenCV简单阈值
  5. python的循环语句机制_Python-for循环的内部机制
  6. 正式踏入24岁了……
  7. 参数估计_随机微分方程的参数估计(一)
  8. java之代理设计模式
  9. 微擎即用WIFI源码V2.1.7
  10. C/C++——一些与输入有关的istream类成员函数
  11. Python_列表生成式
  12. 轻松构建Tomcat源码
  13. python基于dict、defaultdict、Counter的累加器
  14. Python 数据结构与算法——引用计数
  15. QQ聊天记录恢复深度研究
  16. C语言视频教程-谭浩强版-小甲鱼主讲—P19
  17. 数据库课程设计实验报告--图书馆管理系统
  18. C语言中数字转换成字符,c语言中数字转换成字符串的方法
  19. stdafx.h简介
  20. 直播购物平台应开发的功能

热门文章

  1. vue ui框架_vue前端UI框架,一点都不圆润,盘它!
  2. 5.22:黑客情人节 !
  3. 中国国产高性能民用计算机,2018年中国高性能计算机TOP100排行榜出炉 入围厂商均为国产厂商...
  4. Python 函数解释:locals()
  5. OPENCL异构计算——四大模型
  6. 【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程
  7. 视频文件格式解析之 3GP与MP4
  8. c语言实现将字符串首尾*删除,java 编写函数将字符串的首尾空格删除。
  9. oracle 函数属性 parallel_enable
  10. [新手向]Android修图工具Draw9patch使用小结(附ubuntu快捷截图方法)