日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[转]语音报警.NET开发初探

發布時間:2024/9/5 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]语音报警.NET开发初探 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉自:http://www.cnblogs.com/xiajf/archive/2012/10/10/2718711.html

最近在做安監局安全聯網系統,在系統中有會根據一定的條件報警(比如,瓦斯濃度超標),除了在系統中提示之外,客戶還提出需要語音報警。本篇文章主要是針對語音開發的一個前奏。

語音方面的以前沒有接觸過,上網這方面的資料并不多。并且很多資料都是Speech SDK相關的,Windows平臺下的SAPI 5.1開發。后來查資料,這個主要是針對vc等com組建開發,如果在dotnet平臺下開發,直接使用“System.Speech 命名空間”。這個命名空間提供了足夠的類和方法,做語音方面的開發。
命名空間 說明
System.Speech.AudioFormat System.Speech.AudioFormat 命名空間包含一個類, SpeechAudioFormatInfo,它包含有關格式的音頻輸入語音識別引擎,或從語音合成引擎被輸出的信息。
System.Speech.Recognition System.Speech.Recognition 命名空間包含用于實現語音識別的 Windows 桌面語音技術類型。
System.Speech.Recognition.SrgsGrammar 成員的System.Speech.Recogntion.SRGSGrammar命名空間,您可以以編程方式創建語法符合 W3C 語音識別語法規范版本 1.0 (SRGS)。
System.Speech.Synthesis N:System.Speech.Synthesis命名空間包含用于初始化和配置語音合成引擎,用于創建提示,用于生成響應的事件,以及修改聲音特性的語音。
System.Speech.Synthesis.TtsEngine 支持語音合成標記語言 (SSML) 創建基于自定義呈現文本到語音轉換 (TTS) 引擎。
下面簡單介紹一下: using System.Speech.Synthesis; 即:N:System.Speech.Synthesis命名空間包含用于初始化和配置語音合成引擎,用于創建提示,用于生成響應的事件,以及修改聲音特性的語音。說明白點就是,可以完成文本和語音之間的轉化,并且可以設置轉化過程中的事件,修改轉化語音的音量、聲音緩急等聲音的特性。 SpeechSynthesizer 類可以用來生命聲音對象,該對象可以設置音量聲音緩急等等聲音屬性。
?SpeakAsync(String)異步使用字符串內容的語言。即:將字符串轉化成語音讀出。看下面這個例子:在文本中輸入字符(中文、英文、字母、數字都可)
,點擊一個按鈕將文本中的內容讀出。 SpeechSynthesizer reader;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){reader = new SpeechSynthesizer();button2.Enabled = false;button3.Enabled = false;button4.Enabled = false;textBox1.ScrollBars = ScrollBars.Both;}/// <summary>/// 從文本中讀取信息,并閱讀/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){//在讀取文本前,先釋放之前的資源 reader.Dispose();if (textBox1.Text != ""){reader = new SpeechSynthesizer();reader.SpeakAsync(textBox1.Text);label2.Text = "正在說話";button2.Enabled = true;button4.Enabled = true;//當 SpeechSynthesizer 完成提示的講話的時候引發。 講話完成時,將狀態改為完成reader.SpeakCompleted += new EventHandler<SpeakCompletedEventArgs>(reader_SpeakCompleted);}else{MessageBox.Show("請在文本中輸入將要讀取的信息!", "Message", MessageBoxButtons.OK);}}void reader_SpeakCompleted(object sender, SpeakCompletedEventArgs e){label2.Text = "完成";}

?

最終效果如下:

這個是MSDN代碼庫中的例子,源碼在這里:http://code.msdn.microsoft.com/Text-to-Speech-Converter-0ed77dd5

轉載于:https://www.cnblogs.com/freeliver54/archive/2013/03/18/2965622.html

總結

以上是生活随笔為你收集整理的[转]语音报警.NET开发初探的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。