【发布时间】:2021-04-28 21:14:58
【问题描述】:
我正在使用 Xamarin Forms 开发移动文本到语音应用程序。 Quickstart 到目前为止工作并合成了我的文本,但将结果保存到文件似乎不起作用。这是合成类的代码:
var config = SpeechConfig.FromSubscription("6e4a67f034a545e0833179044dd6d172", "westeurope");
var synthesizer = new SpeechSynthesizer(config);
var result = await synthesizer.SpeakSsmlAsync(xmlFirstPart + voice + xmlSecondPart + synthesisText + xmlThirdPart).ConfigureAwait(false);
var stream = AudioDataStream.FromResult(result);
string file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "SpeechSynthesis.wav");
await stream.SaveToWaveFileAsync(file);
它没有给出错误,但是一旦我用这个代码从另一个类调用它:
ISimpleAudioPlayer player = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
player.Load(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "SpeechSynthesis.wav"));
它给出了以下错误:
Java.IO.FileNotFoundException: '/data/user/0/com.companyname.mobileapp/files/SpeechSynthesis.wav'
如果有人知道可能导致此错误的原因,那将对我有很大帮助。谢谢。
【问题讨论】:
-
对于文本到语音功能,您可以使用 Xamarin.Essentials 。检查docs.microsoft.com/en-us/xamarin/essentials/text-to-speech
标签: c# azure xamarin xamarin.forms text-to-speech