روھلان مۇنبىرى
كۆرۈش: 2346|ئىنكاس: 3
ئوڭ تەرىپنى يىغىش

c# دە خەنزۇچە خەت ئوقۇتۇش

[ئۇلانما كۆچۈرۈش]
  1. using System;
    5 ~% A# a, W1 K! `9 l# H- A& p4 L) H
  2. using System.Collections.Generic;
    7 r5 o- y# V$ l, H/ _
  3. using System.Linq;( `0 e' d8 h  n3 Q2 e1 f% Kبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  4. using System.Text;
    5 _- N! x: H- k1 r' f
  5. using Microsoft.Win32;$ i" b  A2 Z3 \/ o$ f9 H# {- Eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  6. using DotNetSpeech;; u1 f5 P% U1 e: }; dبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  7. namespace Xamxad
    6 u9 \* Q  [: O
  8. {+ P# P4 O6 |8 _( qبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()

  9. 3 {7 O7 i- E2 i
  10.    public  class Langdu/ N) Z" X3 ~; z* z0 C- y) `بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  11.         {8 ?  A, s1 B4 _: Eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  12.             public delegate void EndSpeakHanlder();( i3 {  p1 `- rبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  13.             public event EndSpeakHanlder EndSpeakEvent = null;2 u9 w) {; z2 kبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  14.             SpVoice voice = new SpVoice();9 X1 W& @" ~4 Hبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  15.             public Langdu()
    , i! X0 u: u- F/ y* ?
  16.             {# l+ }1 O+ \) C! {: c0 Lبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  17.                 try& t, G( l: P6 ~& ?0 a- v* `بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  18.                 {
    9 q; Q+ j% |7 S, g+ a3 a9 ]* w
  19.                     voice.EndStream += new _ISpeechVoiceEvents_EndStreamEventHandler(voice_EndStream);7 C* t, }/ I* o4 _- }, t9 Sبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  20.                 }
    : Z) c  j  L* J& B6 _
  21.                 catch (Exception ex)% X9 @# [6 H) f, f) f7 Gبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  22.                 {
    ! r2 k5 k3 g& W5 ^5 j3 ]4 o6 y$ Z
  23.                 3 w$ L# h' q/ z/ G. j, ~بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  24.             }; W( s$ |4 ^/ @& z6 F: g# ^, Hبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  25.             }
    + X; J( C* @! V& X3 T
  26.             public void Stop()6 }# [  \5 B/ v! E  Nبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  27.             {
    $ m# Z6 W# O$ l
  28.                 try/ @  E9 M; A; F" K! ^" {$ cبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  29.                 {, V' c8 w$ \" U8 G" y) \+ Yبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  30.                     voice.Speak(string.Empty, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);& C3 Y+ d) V8 f, I: j' v; D3 r0 W4 vبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  31.                 }& a* M, z( C9 x2 kبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  32.                 catch (Exception ex)( E  C) i) F8 z8 @; z& {بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  33.                 {
    4 y5 {5 U9 X# O! Q
  34.                    2 ^" f6 Y1 ]* H/ v0 kبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  35.                 }
    5 u5 m0 ?2 N2 x* ?! m1 I8 }0 _2 F  S
  36.             }
    . W. N: D! I+ {) U; V, G

  37. 4 o0 f  i$ I5 o7 M5 h* k: H: l$ B
  38.             void voice_EndStream(int StreamNumber, object StreamPosITion)
    3 s1 }2 d; ^. s9 G
  39.             {
    8 q, ?4 }3 g+ W: ~; w% D
  40.                 try
    ) o  T* ^4 R8 @$ L$ X: m* F
  41.                 {
    + m; `6 {% P; i9 K- e5 b
  42.                     if (EndSpeakEvent != null)! D; u+ \" W6 T; K' ?) xبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  43.                     {/ b' F, v& w! q* R% J, S! z/ @بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  44.                         EndSpeakEvent();
    + `; I' e- l; T* M" r  z0 c
  45.                     }
      M8 e  R3 z- F) z/ u' ^  p$ @' b
  46.                 }: C0 B- S: j& F# ~2 m8 e  o9 }بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  47.                 catch (Exception ex)
    9 f6 {  [1 L* h. }& _1 b  \) j9 }
  48.                 { }: c* w8 U' S2 A* eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  49.             }
    0 q% e5 Z4 t4 T0 p+ R: }7 b
  50.             public void Pause()" C( Z; P2 e1 F9 O7 {5 t" I2 jبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  51.             {6 D3 S  h+ T( D6 Mبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  52.                 try, w/ ^8 o! q6 }بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  53.                 {
    * H( e- A, o3 q/ L: M: S; h. `
  54.                     voice.Pause();//暂停,使用, e/ t# H% f$ }! xبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  55.                 }
    7 ?; m: O2 Z% y8 y
  56.                 catch (Exception ex): O* H" [  o! ~* X4 F, Fبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  57.                 { }
    / q& }0 U& `8 ]8 Z
  58.             }1 @$ q6 \, m/ bبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  59.             //从暂停中继续刚才的朗读,使用
    ) v- _- \4 h* f5 p. c. e
  60.             public void Restart()& T. \4 g! [* [9 oبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  61.             {2 v3 l4 n6 s# A' F9 Zبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  62.                 try
    % |9 r4 K+ a+ ]" I6 D4 ], [
  63.                 {  {( J/ U) T* m& }: t$ M5 }بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  64.                     voice.Resume();0 }/ {( |6 q, [+ aبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  65.                 }
    9 I  {! Y8 ?  c0 V/ u" v6 `( A; R3 I
  66.                 catch (Exception ex)' G! L1 \, ?( Rبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  67.                 { }2 y  q+ s/ A" N/ [  s* vبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  68.             }9 v7 I9 z) L! yبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  69.             public int SpeakText(string text)
    0 Q2 d$ Y0 F4 n  T) t
  70.             {
    / H0 |/ p& {7 l- G8 c/ z
  71.                 try: |6 \4 F- Z, w- J5 s, D8 b+ Cبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  72.                 {0 N8 J" N% B$ G5 o5 R' O4 c. bبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  73.                     //sp.Voice = sp.GetVoices("name=Microsoft Simplified Chinese", "").Item(0);
    7 o) F  }# K" U# b/ T, {; s/ d
  74.                     //Voice中是语音类型(语言、男(女)声),有 Microsoft Simplified Chinese,Microsoft Mary(Sam,Mike)等,
    & |6 c! X! }) D/ X% e1 T3 X* i
  75.                     //也可以这样:voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //0选择默认的语音,
    3 C8 \) k* e" o3 `( s3 n+ r
  76.                     voice.Volume = 100;+ F4 v8 V; r: J2 w6 R' W1 mبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  77.                     voice.Rate = -2;//朗读语速7 U# D; r" ]6 r. q7 vبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  78.                     return voice.Speak(text, SpeechVoiceSpeakFlags.SVSFlagsAsync); //SpeechVoiceSpeakFlags是语音朗读的风格     
    5 `( B$ E" C1 H4 u# ?& `6 R
  79.                 }5 y# j# G. `/ \, \* Rبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  80.                 catch (Exception ex)6 r+ j' G8 K! e* h/ W; eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  81.                 {
    9 [3 F2 g( f! b, w+ q# l, v
  82.                     return -1;
    $ x! e+ p$ v5 k! f" B
  83.                 }9 g4 }  a1 a" S6 j& ^8 eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  84.             }% R4 W7 T0 b$ F5 d: tبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  85.             //生成语音文件5 X5 Q; `1 \0 K3 Y- h% mبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  86.             public void GenerateVoiceFile(string text)
    - A  [# I1 Y9 {
  87.             {
    ) z& m/ w/ b2 x# Y
  88.                 try
    ; ?4 t( |0 S7 L4 P: R4 _) I
  89.                 {+ }! x/ \* ^" \. J0 L( u0 |بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  90.                     SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
    6 n# N4 R, o" |8 P
  91. 9 f. M; f! T  ~% Wبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  92.                     SaveFileDialog dialog = new SaveFileDialog();
    , B4 G7 A3 `) E' A( A$ X* V
  93.                     dialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
    % |- t9 Z: o  G6 k  ^  X
  94.                     dialog.Title = "保存WAV文件";0 N6 U% z+ Z: i. H& I$ ?# ^بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  95.                     dialog.FilterIndex = 2;5 s7 V4 }  W& |! L; lبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  96.                     dialog.RestoreDirectory = true;( {( R2 j$ {7 y' ?( d8 B, D# ?  \* oبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  97.                     if (dialog.ShowDialog() == true)7 }4 A, S5 r. S+ X+ [" h) Q9 Gبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  98.                     {" L* [  e2 \0 m9 W4 iبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  99.                         SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;8 U1 |. J& @( x- L6 ~% gبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  100.                         SpFileStream spFileStream = new SpFileStream();% h' [$ z( M! B7 Wبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  101.                         spFileStream.Open(dialog.FileName, spFileMode, false);
    $ O" S& j% w2 j( H# r1 M' G; a
  102.                         voice.AudioOutputStream = spFileStream;
    5 d- s/ \9 ~9 N. w( }$ h
  103.                         voice.Speak(text, spFlags);- `" Y& G0 n# U+ J' R4 O8 R! Kبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  104.                         voice.WaitUntilDone(1000);
    8 W% u3 P5 B/ X2 N, E, {' F
  105.                         //上面两句一定要写上,否则产生的文件没有声音1 C4 i& }% `* {4 }$ Hبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  106.                         //WaitUntilDone的后面的smTimeout是一个int型: D& A$ z0 Y+ @( v$ |/ L7 `6 l; \بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  107.                         spFileStream.Close();
    % y* y9 ^. T" l" ~+ f/ R* S
  108.                     }. Z' B9 \6 w8 w* y# Q' R" gبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  109.                 }
    9 R9 p* H$ T5 ^: Q. C! F, D: D3 r
  110.                 catch (Exception ex)
    # h3 e0 h- S$ q( P( h
  111.                 { }) @! @+ T" C4 Wبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  112.             }0 L% T9 y& R* S, Eبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  113.         }
    ! ^# l/ \2 ^% j  C. D( u
  114.     }2 L" C1 w9 S* x  b9 }بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
مەزمۇننى كۆچۈرۈۋېلىش

! ^# M# G9 v  D) \5 ?7 T" q- b$ ^- @0 H4 f+ mبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
SpeakText فۇنىكسىيەسىدىن پايدىلانسىڭىز بولىدۇ.5 ~  t' w8 m% Y% Yبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
مەسىلەن:                     SpeakText("民族团结")
5 M/ ~% ]) A3 g$ q7 t* Tپىروگىرامما ئىجرا بولغاندا ياڭراتقۇدىن 民族团结نىڭ ئوقۇلىشى ئاڭلايسىز.  
ياقتۇرىشىڭىز مۇمكىن؟

مۇناسىۋەتلىك تېمىلار

ۋاقتى: 2016-3-26 13:13:44 | ھەممە قەۋەتنى كۆرۈش
مەن c# نى بىلمىسەممۇ سىزگە ئامەت تىلەيمەن،تېرىشىڭ
ۋاقتى: 2016-3-29 02:59:31 | ھەممە قەۋەتنى كۆرۈش
تەپسىلىي يوللاپسىز قىرىندىشىم،رەھمەت سىزگە!2 b$ D* V2 R$ m) T) y" [& f& x8 |. `بۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
يىڭى ئۆگەنگۈچىلەر ئۈچۈن سىز سۆزلىگەننىڭ ئاساسلىق قىسمىنى كۆرسىتىپ قوياي!
/ r* x! O4 S( H$ J3 Vئاۋۋال DotNetSpeech.dllنى چۈشۈرىمىز،ئاندىن 添加引用ئارقىلىق قوشىمىز،ئاندىن خالىغان ھادىسىگە تۆۋەندىكى ئۈچ قۇر كودنى قوشىمىز،
& i" Z* a/ }2 n8 S. M3 ~" m
  1. DotNetSpeech.SpeechVoiceSpeakFlags SSF = DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync;! |5 f% ^$ Z3 c( U' cبۇ مەزمۇنلار روھلان مۇنبىرىدىن كۆچۈرۈلگەن()
  2. DotNetSpeech.SpVoice vo = new SpVoice();
    % z* w: c; l; x+ i
  3. vo.Speak("你想要什么?", SSF);
مەزمۇننى كۆچۈرۈۋېلىش

3 U; y; y- {1 g" n. H- Tتامام!
 ئىگىسى| ۋاقتى: 2016-3-29 13:55:48 | ھەممە قەۋەتنى كۆرۈش
مۇھىم قىسمىنى ئۇنتۇپ قاپتىمەن دىسە!!!

ئېنگىلىزچە كىرگۈزۈش ھالىتىگە ئالماشتۇرماقچى بولسىڭىز Ctrl بىلەن K كۇنۇپكىسىنى بىرلەشتۈرۈپ بېسىڭ، يەنە بىر قېتىم مۇشۇنداق باسسىڭىز ئۇيغۇرچىغا ئالمىشىدۇ .

كىرگەندىن كېيىن ئىنكاس يازالايسىز كىرىش | ئەزا بولۇڭ

سەھىپە جۇغلانما قائىدىسى

archiver|يانفۇن نۇسخا|قاماقخانا|ئېلان بېرىڭ|بىز كىم؟|ئۈندىدار|روھلان مۇنبىرى

GMT+8, 2016-8-7 14:29

Powered by Discuz! X3.2(NurQut Team)

© 2001-2013 Comsenz Inc.

تېز ئىنكاس چوققىغا قايتىش سەھىپىگە قايتىش