zoukankan      html  css  js  c++  java
  • 调用 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、其他未知

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

    AnySpeech.rar

    出处:http://www.cnblogs.com/Chinasf/archive/2010/01/04/1639282.html

  • 相关阅读:
    FineAdmin.Mvc 使用ok-admin+ASP.NET MVC搭建的通用权限后台管理系统
    ASP.NET MVC Liu_Cabbage 个人博客
    ASP.NET MVC 通用角色权限管理系统
    js/jquery 判断节点是否存在
    jquery myscroll文字上下无缝滚动插件 简单使用
    使用DATEADD() DATEDIFF() 函数获取时间查询条件
    input 设置 display:none后 jquery无法给input赋值
    ASP.NET MVC QQ互联接入
    修改HTTPS加密协议TLS1.0为TLS1.2
    IIS设置网站为HTTPS并且将HTTP重定向到HTTPS
  • 原文地址:https://www.cnblogs.com/mq0036/p/7228409.html
Copyright © 2011-2022 走看看