/// <summary> 声なしでテキストだけ表示 </summary> /// <param name="text"> 表示するテキスト </param> /// <param name="letterPerSec"> 1秒間あたりの表示文字数(0以下なら即時表示) </param> public void Text(string text, double letterPerSec = 20.0) { if (IsOnUIThread) { return; } ChatWindow.RenderText(text, letterPerSec); }
/// <summary> 発音記号投げてAquesTalkで喋らせる</summary> /// <param name="input"> AquesTalkの発音記号列 </param> /// <param name="text"> 平文のテキスト </param> /// <param name="letterPerSec"> 1秒間あたりの表示文字数(0以下なら即時表示) </param> /// <param name="useLipSynch"> リップシンクを使うかどうか </param> public void Say(string input, string text, double letterPerSec = 20.0, bool useLipSynch = true) { if (IsOnUIThread) { return; } //string pronounce = TextConverter.Convert(input); var t1 = Task.Run(() => ChatWindow.RenderText(text, letterPerSec)); var t2 = _voiceOperater.PlayByPronounce(input, useLipSynch); Task.WaitAll(t1, t2); Wait(_scriptApiSetting.SerihuInterval); }