调用 Windows 7 中英文混合朗读

简介:

1、windows7内置语音识别

2、文本到语音转换增加了 Microsoft Lili - Chinese(China) ,支持中英文混合朗读

3、女声、部分词组基本发音准确

 

以上让我有做个小程序的冲动;如下:

 

1、引入SpeechLib.dll

2、创建form

3、编写代码

 

复制代码

    
public   partial   class  FormMain : Form
    {
        
public  FormMain()
        {
            InitializeComponent();
        }

        
private   void  FormMain_Load( object  sender, EventArgs e)
        {
            GetVoices();
        }

        
private   void  GetVoices()
        {
            SpVoice voice 
=   new  SpVoiceClass();
            ISpeechObjectTokens voices 
=  voice.GetVoices( "" "" );
            var list 
=   new  List < string > ();
            
foreach  (ISpeechObjectToken token  in  voices)
                list.Add(token.GetDescription(
0 ));
            cbSpeechType.DataSource 
=  list;
        }

        
private   void  btnSpeechText_Click( object  sender, EventArgs e)
        {
            SpeechText(
null );
        }

        
private   void  SpeechText( string  fileName)
        {
            Cursor 
=  Cursors.WaitCursor;
            SpFileStream stream 
=   null ;
            SpVoice voice 
=   new  SpVoiceClass();
            
if  (fileName  +   ""   !=   "" )
            {
                stream 
=   new  SpFileStreamClass();
                stream.Open(fileName, SpeechStreamFileMode.SSFMCreateForWrite, 
false );
                voice.AudioOutputStream 
=  stream;
            }
            voice.Voice 
=  voice.GetVoices( "" "" ).Item(cbSpeechType.SelectedIndex);
            voice.Volume 
=  tbVol.Value;
            voice.Rate 
=  tbSpeechSpeed.Value;
            voice.Speak(tbText.Text, SpeechVoiceSpeakFlags.SVSFDefault);
            
if  (fileName  +   ""   !=   ""   &&  stream  !=   null )
                stream.Close();
            Cursor 
=  Cursors.Arrow;
        }

        
private   void  btnRecordSpeech_Click( object  sender, EventArgs e)
        {
            Cursor 
=  Cursors.WaitCursor;
            
using  (var saveFileDialog  =   new  SaveFileDialog())
            {
                saveFileDialog.FileName 
=   " MyVoice.wav " ;
                saveFileDialog.Filter 
=   " Wave (*.wav)|*.wav " ;
                
if  (saveFileDialog.ShowDialog()  ==  DialogResult.OK)
                {
                    SpeechText(saveFileDialog.FileName);
                }
            }
            Cursor 
=  Cursors.Arrow;
        }
    }
复制代码

 

以上功能支持朗读文本框内文本,支持讲文本输出语音文件;

 

参考应用场景:

1、尝尝鲜,再删除

2、将小说文本转化为音频放MP3内去听

3、骗骗小孩

 

运行环境需求:

1、WINDOWS 7

2、其他未知

 

 

说再多不如放个代码,所以本文从简,请下载后编译运行。

 

/Files/Chinasf/AnySpeech.rar




本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2010/01/04/1639282.html,如需转载请自行联系原作者

相关文章
|
IDE 开发工具 Windows
QT应用编程: windows下QT调用COM组件
QT应用编程: windows下QT调用COM组件
956 0
QT应用编程: windows下QT调用COM组件
|
Java Linux Windows
【Groovy】Groovy 脚本调用 ( Linux 中调用 Groovy 脚本 | Windows 中调用 Groovy 脚本 )
【Groovy】Groovy 脚本调用 ( Linux 中调用 Groovy 脚本 | Windows 中调用 Groovy 脚本 )
337 0
|
小程序 前端开发 区块链
ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约
ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约
ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约
|
编译器 Linux C语言
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
289 0
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
|
安全 Java Linux
Windows和Linux 导入java https调用接口时的受信任证书
Windows和Linux 导入java https调用接口时的受信任证书
|
Oracle Java 关系型数据库
Windows环境下配置Java,Go调用Java
有时候,新机器或者电脑出问题了需要重装环境,总是要网上找Java的环境配置,这次我自己也整理一个吧!
438 0
Windows环境下配置Java,Go调用Java
|
编译器 C语言 Windows
QT应用编程: windows下调用福熙阅读器COM插件完成PDF开发
QT应用编程: windows下调用福熙阅读器COM插件完成PDF开发
294 0
QT应用编程: windows下调用福熙阅读器COM插件完成PDF开发
|
IDE 开发工具 Windows
QT应用编程: windows下QT调用COM组件并集成到QT界面
QT应用编程: windows下QT调用COM组件并集成到QT界面
582 0
QT应用编程: windows下QT调用COM组件并集成到QT界面
|
编译器 C语言 计算机视觉
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx&#39; 错误解决办法(适用MinGW编译器)。
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx&#39; 错误解决办法(适用MinGW编译器)。
1714 0
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx&#39; 错误解决办法(适用MinGW编译器)。
|
编译器 C语言 Windows
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。
577 0
windows下在QT里调用ffmpeg库处理音频视频数据时,出现error missing -D__STDC_FORMAT_MACROS 错误的解决方法(MINGW32编译器)。

热门文章

最新文章