前回の例でも見せたとおり 合成音声でしゃべらせるには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 文法については詳しく説明しませんが
|