我正在使用AWS開發工具包將AWSLexVoiceButton添加到我的應用程序。我有它配置在意向客戶履行我建立,我想使在AWS控制檯基於語音命令對我的意圖在屏幕上的應用程序顯示的東西:AWSLexVoiceButton提示和客戶端執行響應
這一切工作,和我在下面的代碼回調時博特承認我的意圖:
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()
}
}
兩個問題:
當我點擊了AWS LexVoiceButton,沒有任何聲音指示它正在聆聽,並且除非您發出足夠大的聲音以引起其麥克風聲音檢測動畫,否則您看不到任何跡象,即使您按下該按鈕也沒有任何提示。我找不到添加語音提示的方法,例如「我該如何幫助您?」因爲當最初點擊按鈕時沒有
AWSLexVoiceButtonDelegate
回調。問:有什麼方法可以在Lex人聽時添加音頻提示?
同樣,沒有音頻指示客戶正在履行意圖。因爲有回撥,我可以添加自己的回覆。但爲此,我手動設置了一個
AVAudioPlayer
並與AWS Polly集成,將我的文本轉換爲我編寫的自定義say
方法中的語音。我的方法很有效,但似乎一定是錯誤的。問:是否有任何方法可以觸發Lex自定義音頻響應作爲客戶端實現的結果?
是履行有關圖像在這裏?我假設你的履行是一個基於問題內容的lambda函數。 – Milk
它實際上不是一個lambda函數。對於我的用例,我只需要在語音命令上啓動屏幕,因此不需要進行服務器端計算。 – davidgyoung
在這種情況下,我已經更新了問題2的答案 – Milk