C#文字转换为声音

来源:互联网 发布:中小学课本同步软件 编辑:程序博客网 时间:2024/06/05 19:19
一:上图:
 

二:代码:

在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~
首先在Windows窗体项目中引入System.Speech。
要引用 System.Speech.dll 鼠标右键引用 具体不解释
trackBarSpeed 为滑动条控件ID
后台代码:



[C#] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[/color][/b][/align]
[align=left][b][color=#0000ff][color=seagreen]using
System.Windows.Forms;
usingSystem.Speech;
using
System.Speech.Synthesis;
namespaceWindowsFormsApplication1
{
   
  publicpartial class Form1 : Form
    {
   
      privateSpeechSynthesizer ss;
   
      publicForm1()
      
   {
            
 InitializeComponent();
      
   }
        privatevoid
Form1_Load(objectsender, EventArgs e)
      
   {
            ss =
newSpeechSynthesizer();
        }
   
      privatevoid buttonRead_Click(objectsender,
EventArgs e)
        {
      
       ss.Rate = trackBarSpeed.Value;
   
          ss.Volume =
trackBarVolumn.Value;
            
 ss.SpeakAsync(txtMsg.Text);
      
   }
        privatevoid
buttonPause_Click(objectsender, EventArgs e)
      
   {
            
 ss.Pause();
        }
   
      privatevoid buttonContinue_Click(objectsender,
EventArgs e)
        {
      
       ss.Resume();
      
   }
        privatevoid
buttonRecord_Click(objectsender, EventArgs e)
      
   {
            
 SpeechSynthesizer ss = newSpeechSynthesizer();
      
       ss.Rate = trackBarSpeed.Value;
   
          ss.Volume =
trackBarVolumn.Value;
            
 SaveFileDialog sfd = newSaveFileDialog();
      
       sfd.Filter = "Wave Files|*.wav";
   
          
 ss.SetOutputToWaveFile(sfd.FileName);
         
    ss.Speak(txtMsg.Text);
         
    ss.SetOutputToDefaultAudioDevice();
      
       MessageBox.Show("完成录音~~","提示");
   
      }
      
   privatevoid buttonClose_Click(objectsender, EventArgs
e)
        {
      
       Application.Exit();
      
   }
     
}
}[/color]

0 0