|
前回の例でも見せたとおり 合成音声でしゃべらせるにはSpeechPlatformRuntimeが必要です 今回のプログラムはこちらです speech.vbsをダブルクリックすればspeech.txtを読み上げる音声ファイルが作成されます speech.vbsの中身は次のとおりです Option Explicit
Const SSFMCreateForWrite = 3
Dim objSV,objSFile,flgEnd
Dim objFS,objTS
flgEnd = false
'音声合成関係のオブジェクトを生成する
Set objSV = WScript.CreateObject("Speech.SpVoice")
Set objSFile = WScript.CreateObject("Speech.SpFileStream")
'イベントをMyProc_ではじまるプロシージャに接続する
WScript.ConnectObject objSV,"MyProc_"
ObjSFile.Open "speech.wav",SSFMCreateForWrite
Set objSV.AudioOutputStream = ObjSFile
'音声を出力する
'FileSystemObjectオブジェクトを生成する
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
'TextStreamオブジェクトを取得する
Set objTS = objFS.OpenTextFile("speech.txt",1)
objSV.Speak objTS.ReadAll,0
objSFile.Close
objTS.Close
Do While flgEnd <> true
WScript.Sleep 100
Loop
Sub MyProc_EndStream(StreamNumber,StreamPosition)
WScript.Echo "音声出力終了"
flgEnd = true
End Sub
文法については詳しく説明しませんが
|