0
我正在使用Xamarin.Mac
,我正在写一个文本到语音项目。当NSSpeechSynthesizer完成发言时,我该如何得到通知?
在Xamarin.Mac
中,类NSSpeechSynthesizer
未提供事件DidFinishSpeaking
。我可以知道讲话结束后如何得到通知吗?
非常感谢您
我正在使用Xamarin.Mac
,我正在写一个文本到语音项目。当NSSpeechSynthesizer完成发言时,我该如何得到通知?
在Xamarin.Mac
中,类NSSpeechSynthesizer
未提供事件DidFinishSpeaking
。我可以知道讲话结束后如何得到通知吗?
非常感谢您
NSSpeechSynthesizer
提供了一个接口的形式delegate
(INSSpeechSynthesizerDelegate
)包含DidFinishSpeaking
方法:
public partial class ViewController : NSViewController, INSSpeechSynthesizerDelegate
{
~~~~~~
public override void ViewDidLoad()
{
base.ViewDidLoad();
var s = new NSSpeechSynthesizer(NSSpeechSynthesizer.DefaultVoice)
{
Delegate = this
};
s.StartSpeakingString("StackOverflow");
}
[Export("speechSynthesizer:didFinishSpeaking:")]
public void DidFinishSpeaking(NSSpeechSynthesizer sender, bool finishedSpeaking)
{
Console.WriteLine("Done speaking");
}
~~~~~~
}
非常感谢。有用 –