语音03_TTS_C#示例代码
参考网址:
(1)TTS-零基础入门-10分钟教你做一个语音功能
http://blog.csdn.net/u010176014/article/details/47326413
(2)、TTS-零基础入门之生成语音文件
http://blog.csdn.net/u010176014/article/details/47428595
(3)、TTS-零基础入门之停止列表中单条语音播报
http://blog.csdn.net/u010176014/article/details/47747017
(4)、TTS-零基础入门之语音模板化
http://blog.csdn.net/u010176014/article/details/47364403
(5)、TTS零基础入门之拒绝界面卡顿--加入线程
http://blog.csdn.net/u010176014/article/details/47986101
1、播放一段 string
private void button2_Click(object sender, EventArgs e)
{
SpVoice voice01 = new SpVoice();//该类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。
//SpeechVoiceSpeakFlags spFlags01 = SpeechVoiceSpeakFlags.SVSFDefault;// ZC: 同步方式(在语音播放完毕之前,窗口会假死)
SpeechVoiceSpeakFlags spFlags01 = SpeechVoiceSpeakFlags.SVSFlagsAsync;//异步的播放方式 string strSpeak = "阿发水电费布娃娃IE挖三说";
voice01.Speak(strSpeak, spFlags01);
}
2、将string 转成 语音,然后存放到 磁盘上
private void button3_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();//提示用户选择文件的保存位置
saveFileDialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav|mp3 files (*.mp3)|*.mp3";//保存文件的格式 例如 All files (*.*)|*.*
saveFileDialog.Title = "保存音频文件";//对话框的标题
saveFileDialog.FilterIndex = ;//使用 FilterIndex 属性设置第一个显示给用户的类型筛选选项
saveFileDialog.RestoreDirectory = true;//对话框在关闭前是否还原当前目录 if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
SpFileStream SpFileStream = new SpFileStream();
SpFileStream.Open(saveFileDialog.FileName, SpFileMode, false); // ZC: 保存文件 与 输出文件流 绑定 string speakWeather = "阿发水电费布娃娃IE挖三说";
SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;//异步的播放方式 SpVoice voice = new SpVoice();
voice.AudioOutputStream = SpFileStream;
voice.Speak(speakWeather, SpFlags);
voice.WaitUntilDone(Timeout.Infinite);
SpFileStream.Close();
MessageBox.Show("导出语音成功!");
}
}
3、
4、
5、
语音03_TTS_C#示例代码的更多相关文章
- WebRTC 音频采样算法 附完整C++示例代码
之前有大概介绍了音频采样相关的思路,详情见<简洁明了的插值音频重采样算法例子 (附完整C代码)>. 音频方面的开源项目很多很多. 最知名的莫过于谷歌开源的WebRTC, 其中的音频模块就包 ...
- 基于DotNetOpenAuth的OAuth实现示例代码: 获取access token
1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...
- 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题
调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...
- ActiveMQ笔记(1):编译、安装、示例代码
一.编译 虽然ActiveMQ提供了发布版本,但是建议同学们自己下载源代码编译,以后万一有坑,还可以尝试自己改改源码. 1.1 https://github.com/apache/activemq/r ...
- C#微信公众平台接入示例代码
http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html 这是微信公众平台提供的接入指南.官网只提供了php的示例代码 ...
- 编译opengl编程指南第八版示例代码通过
最近在编译opengl编程指南第八版的示例代码,如下 #include <iostream> #include "vgl.h" #include "LoadS ...
- 股票数据调用示例代码php
<!--?php // +---------------------------------------------------------------------- // | JuhePHP ...
- php示例代码之类似于C#中的String.Format方法
php示例代码之类似于C#中的String.Format方法 原文来自于 http://stackoverflow.com/questions/1241177/c-string-format-equ ...
- redis 学习笔记(2)-client端示例代码
redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson 一.Jedis的使用 <dependency> <groupId>redi ...
随机推荐
- Coursera课程《Machine Learning》学习笔记(week1)
这是Coursera上比较火的一门机器学习课程,主讲教师为Andrew Ng.在自己看神经网络的过程中也的确发现自己有基础不牢.一些基本概念没搞清楚的问题,因此想借这门课程来个查漏补缺.目前的计划是先 ...
- 用SQL语句生成唯一标识
以前都是在代码中生成GUID值,然后保存到数据库中去,今天发现用sql也能生成GUID值,觉得很新奇,所以记下来. sellect newid(); //得到的即为GUID值 此sql内置函数返回的 ...
- 分界线<hr/>
<hr align="center" noshade="noshade" width="90px" color="#1DAB ...
- python函数回顾:next()
描述 next() 返回迭代器的下一个项目. 语法 next(iterator[, default]) 参数说明: iterator -- 可迭代对象 default -- 可选,用于设置在没有下一个 ...
- InnoDB 与 MyISAM 区别
1.myisam可以对索引进行压缩,innodb不压缩 2.索引都用b-tree, innodb使用 b+tree,NDB Cluster使用 T-Tree. 3.myisam 表级锁, inno ...
- 【JDBC】java程序通过jdbc连接oracle数据库方法
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏).未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...
- Android之四大组件、六大布局、五大存储
[-] Android六大界面布局方式 1 LinearLayout线性布局 LinearLayout的常用XML属性及相关方法 LinearLayout子元素支持的常用XML属性及方法 2 Tabl ...
- 从SignalTap II中获取“最真实”的仿真测试向量(ZZ)
在实际工作中,经常会遇到这样的情况:在硬件调试中采用SignalTap II反复多次编译并最终捕获到问题的原因时,才会发现,原来这个问题是逻辑问题,是可以在仿真环境下发现并快速解决的.先前没 ...
- assign,copy,retain的区别以及weak和strong的区别
@property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索 ...
- input propertychange(1)
input type=“text” 通过js改变输入框的value值是不会出发input propertychange事件