- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 AWS 开发工具包将 AWSLexVoiceButton 添加到我的应用程序。我在我设置的意图中为客户端实现配置了它,因为我想让应用程序根据我的意图在 AWS 控制台中的语音命令在屏幕上显示一些东西:
一切正常,当 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()
}
}
两个问题:
当我点击 AWSLexVoiceButton 时,没有任何音频指示表明它正在收听,而且您甚至看不到您轻按按钮的任何迹象,除非您发出足够大的声音以触发其麦克风声音检测动画。我找不到添加“我能帮到你什么吗?”之类的语音提示。因为在最初点击按钮时没有 AWSLexVoiceButtonDelegate
回调。
问:有什么办法可以在Lex被监听时添加语音提示吗?
同样,没有音频指示客户端正在实现意图。因为有回调,所以我可以添加自己的响应。但为此,我手动设置了一个 AVAudioPlayer
并与 AWS Polly 集成,以我编写的自定义 say
方法将我的文本转换为语音。我的方法有效,但它似乎一定是错误的方法。
问:有没有什么方法可以触发 Lex 作为客户履行的结果给出自定义音频响应?
最佳答案
如果没有用户的请求,您无法通过 Lex 提供响应。我对 iOS 不熟悉,但是在 Android 中,您可以在应用程序中添加此功能来处理这种情况手动。我猜 iOS 允许类似的功能。如果我错了,请发表评论。不幸的是,这不是 Lex 提供的。
Lex 仅在履行完成后才会响应。由于您不需要服务器端履行,因此您可以创建一个除了返回之外不执行任何操作的 lambda 函数您正在寻找的完成响应。
希望对你有帮助
关于ios - AWSLexVoiceButton 提示和客户端履行响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45718769/
我正在使用 AWS 开发工具包将 AWSLexVoiceButton 添加到我的应用程序。我在我设置的意图中为客户端实现配置了它,因为我想让应用程序根据我的意图在 AWS 控制台中的语音命令在屏幕上显
我尝试使用 AWSLexVoiceButton 一段时间了,但我真的不喜欢可以进行的自定义程度太低。有没有办法可以在不使用 AWSLexVoiceButton 的情况下将音频发送到 Swift 中的
我是一名优秀的程序员,十分优秀!