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");
}
~~~~~~
}
非常感謝。有用 –