参考网址:
  (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#示例代码的更多相关文章

  1. WebRTC 音频采样算法 附完整C++示例代码

    之前有大概介绍了音频采样相关的思路,详情见<简洁明了的插值音频重采样算法例子 (附完整C代码)>. 音频方面的开源项目很多很多. 最知名的莫过于谷歌开源的WebRTC, 其中的音频模块就包 ...

  2. 基于DotNetOpenAuth的OAuth实现示例代码: 获取access token

    1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...

  3. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  4. ActiveMQ笔记(1):编译、安装、示例代码

    一.编译 虽然ActiveMQ提供了发布版本,但是建议同学们自己下载源代码编译,以后万一有坑,还可以尝试自己改改源码. 1.1 https://github.com/apache/activemq/r ...

  5. C#微信公众平台接入示例代码

    http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html 这是微信公众平台提供的接入指南.官网只提供了php的示例代码 ...

  6. 编译opengl编程指南第八版示例代码通过

    最近在编译opengl编程指南第八版的示例代码,如下 #include <iostream> #include "vgl.h" #include "LoadS ...

  7. 股票数据调用示例代码php

    <!--?php // +---------------------------------------------------------------------- // | JuhePHP ...

  8. php示例代码之类似于C#中的String.Format方法

    php示例代码之类似于C#中的String.Format方法 原文来自于  http://stackoverflow.com/questions/1241177/c-string-format-equ ...

  9. redis 学习笔记(2)-client端示例代码

    redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson 一.Jedis的使用 <dependency> <groupId>redi ...

随机推荐

  1. c# 如何利用异或运算进行简单加密解密

    利用“^”异或运算对字符串进行加密 原理:按位做“异或”运算是->位值相同得1,不同得0,如下计算 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 例如: < ...

  2. Linux 装JDK

    1.查看当前系统有没有装jdk java -version 2.看看有没有安装包 rpm -qa | grep java 3.卸载OpenJDK $>rpm -e --nodeps tzdata ...

  3. Encrypt your home directory

    w

  4. git database 数据库 平面文件

    w 各个分支  git init 数据库 master分支 git 数据库 “分布式 地位平等的 ”  “git 区别与svn,没有 c/s 主从的概念”“”“c/s” 大家都往这个分支提交,这个分支 ...

  5. 实验一中的OOP思想

    子类继承父类    父类中声明了接口变量   接口AB中声明了抽象方法 ab 在子类中 可以用这样通俗的语句写程序: while (!(this.termination.shouldTerminate ...

  6. 教你管理SQL实例系列(1-15)

    全系列转自:51CTO ->jimshu http://jimshu.blog.51cto.com 目录及原本连接如下: 教你管理SQL实例(1)数据库实例 教你管理SQL实例(2)服务启动帐户 ...

  7. 001-Spring在代码中获取bean的几种方式

    一.概述 方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类Applicati ...

  8. 003-搭建框架-实现IOC机制

    一.实现目标 一种MVC[Model-View-Controller]一种设计模式,进行解耦. /* * 处理客户管理相关请求 */ @Controller public class Customer ...

  9. pandas(零)数据结构

    pandas的两个主要的数据结构: Series series是一种类似于一维数组的对象,它由一组数据(NumPy数组类型的数据)和一组与之相关的数据标签(索引)组成. from pandas imp ...

  10. IP地址处理模块IPy

    IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能.可扩展性等方面. 在这个过程中,免不了要计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP ...