我尝试按照 Xamarin 文档中有关语音到文本的示例代码进行操作。 android 部分适用于我的 android 手机,但在 iPhone 上测试它没有发出任何声音。我添加了委托(delegate)函数“DidStartSpeechUtterance”,它确实调用了委托(delegate)函数,但电话没有声音。
var speechSynthesizer = new AVSpeechSynthesizer();
var speechUtterance = new AVSpeechUtterance(text)
{
Rate = AVSpeechUtterance.MaximumSpeechRate / 4,
Voice = AVSpeechSynthesisVoice.FromLanguage("en-US"),
Volume = 0.5f,
PitchMultiplier = 1.0f
};
speechSynthesizer.DidStartSpeechUtterance += (sender, e) =>
{
System.Diagnostics.Debug.WriteLine("Am I get called");
};
speechSynthesizer.SpeakUtterance(speechUtterance);
它适用于模拟器 iPhone SE iOS 10.2,但不适用于实际设备。
最佳答案
遗憾的是,我真的没有直接的答案给你,但是:
如果 James Montemagno 的 nuget 包适合你,你可以试试:
https://github.com/jamesmontemagno/TextToSpeechPlugin
这样做是为了抽象实现,以便您可以从(共享的)可移植类库中使用它——它还可以帮助您共享更多代码。我很好奇这是否对你有用。如果这不起作用,要么是其他地方出了问题(在语音合成器部分之外)
关于ios - Xamarin iOS : Doesn't make any sound using AVSpeechSynthesizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964169/