首页 > 编程语言 >C# 文本转语音,在语音播放过程中停止语音

C# 文本转语音,在语音播放过程中停止语音

时间:2022-09-03 15:24:37浏览次数:88  
标签:voice C# System Threading 语音 using 文本 speak

C# 文本转语音,在语音播放过程中停止语音

1,运用SpVoice播放语音

在VS2013创建Windows窗体应用程序项目,添加引用COM组件Microsoft Speech Object Library:

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;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 测试
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }         
        private void button1_Click(object sender, EventArgs e)
        {
           SpVoice voice = new SpVoice();
            voice.Rate = -2; //语速,[-10,10]
            voice.Volume = 100; //音量,[0,100]
            voice.Voice = voice.GetVoices().Item(0); //语音库
            voice.Speak("hello word!");
        }  
    }
}

2,SpeechSynthesizer ,语音播放过程中停止

使用该类必须要添加引用using System.Speech.Synthesis;直接是无法添加引用的,先对项目进行添加应用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Speech.Synthesis;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 测试
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SpeechSynthesizer speak = new SpeechSynthesizer(); 
        private void button1_Click(object sender, EventArgs e)
        {
            speak.Dispose();
            speak = new SpeechSynthesizer();
            speak.Volume = 100;
            speak.Rate = -1;
            speak.SpeakAsync("The company has six series of products, facing the four markets of higher education, community education, cadre education and children's education. It is a professional and comprehensive provider of digital lifelong learning solutions.");
        }       
        private void button2_Click(object sender, EventArgs e)
        {
            speak.Pause();            
    }
}

标签:voice,C#,System,Threading,语音,using,文本,speak
From: https://www.cnblogs.com/tyxajh/p/16652649.html

相关文章