无法停止 xamarin 基本文本到语音,以便使用 Xamarin.Forms 启动新的文本到语音“SpeakAsync”调用。
将此应用程序用作“练习电话”的模拟接线员,我想在用户挂断电话时切断接线员说“你好,这是....”,并使用 speak async 开始说“这通话已结束”在切断之前的文字转语音后立即
await TextToSpeech.SpeakAsync("Hello this is the operator, thank you for calling, how can I help you?"
, SpeechTokenSource.Token);
这目前在android上按预期工作
public void CancelSpeech()
{
if (SpeechTokenSource?.IsCancellationRequested ?? true)
return;
SpeechTokenSource.Cancel();
}
尝试使用文档(https://docs.microsoft.com/en-us/xamarin/essentials/text-to-speech)中列出的取消令牌但是我无法让当前的“SpeakAsync”语音立即停止播放iOS,或下一个 speakasync 命令,在取消初始文本到语音转换后开始在 iOS 上朗读文本。
CancelSpeech();
IsCallActive = false;
DialedText = null;
//Reset speech cancellation token
SpeechTokenSource = new CancellationTokenSource();
await TextToSpeech.SpeakAsync("This call has ended. Goodbye."
, SpeechTokenSource.Token);
iOS 输出中记录的错误:“[AXTTSCommon] _BeginSpeaking:无法开始播放”
有什么我想念的吗?如何取消当前正在播放的文本转语音并立即开始下一个语音?
编辑:
这需要通过单击一个按钮来完成(取消当前语音和启动“此通话已结束”语音)