zoukankan      html  css  js  c++  java
  • 语音播报

    相关: http://blog.sina.com.cn/s/blog_45c379c001016d7u.html

     DLL     :

    备注:

             1、运行TTSrepair.exe,修护系统语音功能。(确保系统语音相关组件能正常使用)

             2、添加 Interop.SpeechLib.dll 和 SpeechLib.dll
            3、如无语音库,请安装“girl_xialkun.exe”(为一种语音库)
    下载地址:http://download.iciba.com/pwpe/girl_xiaokun.exe

    注:win7系统默认语音库为microsoft lily chinese,阉割版的系统没有相关功能

    using SpeechLib;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using SAMPLETTSENGLib;
    
    
    namespace 语音播报
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                
                //检查
                if (comboBox1.SelectedIndex < 0)
                {
                    MessageBox.Show("请选择语音库!", "Message", MessageBoxButtons.OK);
                    return;
                }
                if (textBox1.Text == "")
                {
                    MessageBox.Show("请在文本中输入将要读取的信息!", "Message", MessageBoxButtons.OK);
                    return;
                    
                }
                
                //执行朗读
                    SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;
                    SpVoice sv = new SpVoice();
                    //用第3个语音库,根据系统所安装语音库进行选择
                    sv.Voice = sv.GetVoices().Item(comboBox1.SelectedIndex);
                    sv.Speak(textBox1.Text, flag);//播放
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //将所有语音库加载到combox
                List<string> lst = new List<string>();
                ISpeechObjectTokens obj = new SpVoice().GetVoices();
                for (int i = 0; i < obj.Count; i++)
                { 
                    comboBox1.Items.Add(obj.Item(i).GetDescription());
    
                }
                
            }
        }
    }
    

      

  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/lhlong/p/5075842.html
Copyright © 2011-2022 走看看