掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文が発音されない時があるのですが?? (ID:49823)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。いつもお世話になっています。 日本語文と英語文を交互に発音させるために、 日本語の発音をC言語で作り使っていますが、 下の例では、ボタンを交互に押すと、発音されないことがあります。 SpeaktoMeを使うと、すべて発音されます。 日本語は発音されなくてもいいやと思って日本語文に使っていますが。 何か解決策があれば、教えていただきたいと思い投稿しました。 よろしくお願いします。 procedure TFLily.JSpeak(WD:string); var s:string; res:boolean; Si: TStartupInfo; Pi: TProcessInformation; begin Bunput(WD); application.ProcessMessages; s := 'c:\lily\JapaneseSpeakB.exe'; FillChar(SI, SizeOf(SI), #0); SI.cb := SizeOf(SI); SI.dwFlags := STARTF_USESHOWWINDOW; SI.wShowWindow := 1; Res := CreateProcess(PChar(s),nil,nil,nil,False, CREATE_DEFAULT_ERROR_MODE,nil,nil,SI, PI); end; procedure Tlily.BunPut(wd:string); var InBuff: string; FileName1:string; F: textfile; i:integer; begin FileName1:='c:\Flily\日本語文.txt'; AssignFile(F, FileName1); Rewrite(F); INbuff:=WD; writeln(F,inBuff); CloseFile(F); end; procedure TFLily.Button3Click(Sender: TObject); begin //SpeakToMe(Edit1.text); application.processMessages; JSpeak(Edit1.text); application.processMessages; end; procedure TFLily.Button4Click(Sender: TObject); begin //SpeakToMe(Edit2.text); application.processMessages; JSpeak(Edit2.text); application.processMessages; end; procedure TFLily.SpeakToMe(WD:string); var tts : OleVariant; begin // if EJSWFLG=false then exit; // then tts.selectVoice('Zira') else tts.selectVoice('Haruka'); tts := CreateOleObject('SAPI.SpVoice'); // tts.volume:=100; // tts.voice:= 'Microsoft Haruka desktop'; tts.Speak(WD); { <英語用モジュール> synth.SelectVoice(英語者名:Zira) synth.Speak(英語発声文) synth.Dispose() <日本語用モジュール> synth.SelectVoice(日本語者名:Haruka) synth.Speak(日本語発声文) synth.Dispose() } end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.