gpt4 book ai didi

ios - AWSLexVoiceButton 提示和客户端履行响应

转载 作者:行者123 更新时间:2023-11-29 00:13:58 25 4
gpt4 key购买 nike

我正在使用 AWS 开发工具包将 AWSLexVoiceButton 添加到我的应用程序。我在我设置的意图中为客户端实现配置了它,因为我想让应用程序根据我的意图在 AWS 控制台中的语音命令在屏幕上显示一些东西:

AWS fulfillment

一切正常,当 Bot 识别出我的 Intent 时,我在下面的代码中收到回调:

func voiceButton(_ button: AWSLexVoiceButton, on response: AWSLexVoiceButtonResponse) {
// `inputranscript` is the transcript of the voice input to the operation
if response.dialogState == .readyForFulfillment {
print("Ready to fulfill")
// I want to provide speech output
say(text: "OK, I will show the train status screen")
showTrainStatusScreen()
}
}

两个问题:

  1. 当我点击 AWSLexVoiceButton 时,没有任何音频指示表明它正在收听,而且您甚至看不到您轻按按钮的任何迹象,除非您发出足够大的声音以触发其麦克风声音检测动画。我找不到添加“我能帮到你什么吗?”之类的语音提示。因为在最初点击按钮时没有 AWSLexVoiceButtonDelegate 回调。

    问:有什么办法可以在Lex被监听时添加语音提示吗?

  2. 同样,没有音频指示客户端正在实现意图。因为有回调,所以我可以添加自己的响应。但为此,我手动设置了一个 AVAudioPlayer 并与 AWS Polly 集成,以我编写的自定义 say 方法将我的文本转换为语音。我的方法有效,但它似乎一定是错误的方法。

    问:有没有什么方法可以触发 Lex 作为客户履行的结果给出自定义音频响应?

最佳答案

  1. 如果没有用户的请求,您无法通过 Lex 提供响应。我对 iOS 不熟悉,但是在 Android 中,您可以在应用程序中添加此功能来处理这种情况手动。我猜 iOS 允许类似的功能。如果我错了,请发表评论。不幸的是,这不是 Lex 提供的。

  2. Lex 仅在履行完成后才会响应。由于您不需要服务器端履行,因此您可以创建一个除了返回之外不执行任何操作的 lambda 函数您正在寻找的完成响应。

希望对你有帮助

关于ios - AWSLexVoiceButton 提示和客户端履行响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45718769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com