Re: [問題] Micorsoft Speech SDK5.1 與 SDK11
找了許多資訊後,最後得到結論是,SDK11是包裝在SDK5.1更上面的SDK.
意思就是基於SDK5.1所包裝出來較高階的SDK.
當然SDK11似乎僅支援C#和VB等高階點的語言.
而SDK5.1則可支援C/C++做使用,也屬於較底層一點的語言.
不知道我這樣的理解是否正確呢@@"
再來我現在遇到一個問題.
SDK11 DOC裡面有提到要讓電腦發出聲音可使用SpeechSynthesizer裡面的Speek() 函式.
用法是.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Speech.Synthesis;
namespace SimpleSpeak
{
class Program
{
static void Main(string[] args)
{
SpeechSynthesizer s = new SpeechSynthesizer();
s.Speak("Hello. My name is Microsoft Server Speech Text to Speech Voice
(en-US, Helen).");
}
}
}
然而我照著把程式貼上去後,建置也成功了沒有錯誤,但是執行的時候程式很快就跑完了
,什麼聲音也沒出來就結束掉了!!
之後我試著用也是SpeechSynthesizer類別裡的SetOutputToWaveFile()函式將s.Speak的
內容輸出成wmv檔,然後在文件夾裡做開啟,結果確實是有聲音的!
表示Speak這個函式確實是用來產生聲音的! 但是為什麼在C#執行時就是不會有聲音出
來呢? 還是說Speak只負責產生聲音,要播放聲音還需要另外寫類似撥放器的東西嗎?
小弟對這一塊還處於很陌生的階段,拜託大家幫忙了>"<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.161.94.200
※ 編輯: moonskyex 來自: 1.161.94.200 (02/09 12:58)
→
02/09 19:50, , 1F
02/09 19:50, 1F
我找到問題了! 最簡單的方法就是linotwo大提供的加入那個程式碼就行了!
其他還有可以使用System.IO.media.Soundplayer把SpeechSynthesizer的串流資料讀入
再用Soundplayer的PlaySyn()函式播放!
※ 編輯: moonskyex 來自: 1.161.81.16 (02/09 23:24)
→
02/12 12:16, , 2F
02/12 12:16, 2F
→
02/12 12:17, , 3F
02/12 12:17, 3F
討論串 (同標題文章)