本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SpeakAndGetDigits
通過提供文本播放語音並從用戶那裡收集雙音多頻(DTMF)數字。文字可以是純文字或語音合成標記語言 (SSML) 增強型文字,讓 Amazon Chime SDK 透過新增暫停、強調特定字詞或變更朗讀樣式 (以及其他支援的 SSML 功能) 產生語音的方式提供更好的控制權。如果發生失敗 (例如使用者未輸入正確的 DTMF 位數),動作會播放「失敗」語音,然後重播主要語音,直到 SIP 媒體應用程式耗盡參數中定義的嘗試次數為止。Repeat
Amazon Chime SDK 使用 Amazon Polly 這是一種可將文字轉換為逼真語音的雲端服務,Amazon Polly 同時提供標準和神經引擎,以改善語音品質、20 多種支援的語言和 60 種語音。亞馬遜 Polly 免費提供語音功能,但您需要為使用 Amazon Polly 付費。如需定價資訊,請參閱 Amazon Polly 定價頁面
重要
Amazon Polly 的使用受AWS
服務條款
使用動SpeakAndGetDigits作
下列範例顯示SpeakAndGetDigits
動作的典型使用方式:
{ "SchemaVersion": "1.0", "Actions":[ { "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "
call-id-1
", // required "InputDigitsRegex": "^\d{2}#$
", // optional "SpeechParameters": { "Text": "Hello World
", // required "Engine": "neural
", // optional. Defaults to standard "LanguageCode": "en-US
", // optional "TextType": "text
", // optional "VoiceId": "Joanna
" // optional. Defaults to Joanna }, "FailureSpeechParameters": { "Text": "Hello World
", // required "Engine": "neural
", // optional. Defaults to the Engine value in SpeechParameters "LanguageCode": "en-US
", // optional. Defaults to the LanguageCode value in SpeechParameters "TextType": "text
", // optional. Defaults to the TextType value in SpeechParameters "VoiceId": "Joanna
" // optional. Defaults to the VoiceId value in SpeechParameters }, "MinNumberOfDigits":3
, // optional "MaxNumberOfDigits":5
, // optional "TerminatorDigits": ["#
"], // optional "InBetweenDigitsDurationInMilliseconds":5000
, // optional "Repeat":3
, // optional "RepeatDurationInMilliseconds":10000
// required } } ] }
- CallId
-
說明 —
CallId
Lambda 函數叫用 CallDetails 的參與者。允許的值-A 有效
callID
必要 — 是
預設值 — 否
- InputDigitsRegex
-
描述 — 規則運算式模式,可協助確保使用者輸入正確的數字和字母。
允許的值 — 有效的規則運算式模式
必要 — 否
預設值 — 無
- SpeechParameters.Engine
-
說明 — 指定在處理語音合成文字時要使用的引擎 (標準或神經)。
允許的值 —
standard
|neural
必要 — 否
預設值 — 標準
- SpeechParameters.LanguageCode
-
描述 — 指定語言代碼。只有在使用雙語語音時才需要這樣做。如果使用雙語語音且未指定語言代碼,則會使用雙語語音的預設語言。
允許的值 — Amazon Polly 語言代碼
必要 — 否
預設值 — 無
- SpeechParameters.Text
-
描述 — 指定輸入文字。如果指定
ssml
為SpeechParameters.TextType
,則必須遵循輸入文字的 SSML 格式。如需 SSML 的詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音。允許的值 — 字串
必要 — 是
預設值 — 無
- SpeechParameters.TextType
-
描述 — 指定的文字格式
SpeechParameters.Text
。如果未指定,text
則依預設使用。如需 SSML 的詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音。允許的值 —
ssml
|text
必要 — 否
預設值 —
text
- SpeechParameters.VoiceId
-
說明 — 用來朗讀中
SpeechParameters.Text
文字的 Amazon Polly 語音識別碼。允許的值 — Amazon Polly 語音 ID
必要 — 否
默認值-喬安娜
- FailureSpeechParameters.Engine
-
描述 — 指定當客戶輸入語音合成的無效回應時,處理失敗訊息所使用的引擎 (標準或神經)。
允許的值 —
standard
|neural
必要 — 否
預設值 —
SpeechParameters.Engine
值 - FailureSpeechParameters.LanguageCode
-
「描述」— 指定客戶輸入無效響應時所使用的語言代碼。只有在使用雙語語音時才需要。如果您在未指定語言代碼的情況下使用雙語語音,則會使用雙語語音的預設語言。
允許的值 — Amazon Polly 語言代碼
必要 — 否
預設值 —
SpeechParameters.LanguageCode
值。 - FailureSpeechParameters.Text
-
描述 — 指定當客戶輸入無效回應時所說的輸入文字。如果指定
ssml
為FailureSpeechParameters.TextType
,則必須遵循輸入文字的 SSML 格式。允許的值 — 字串
必要 — 是
預設值 — 無
- FailureSpeechParameters.TextType
-
描述 — 指定中指定的輸入文字
FailureSpeechParameters.Text
為純文字還是 SSML。預設值為純文字。如需詳細資訊,請參閱 Amazon Polly 開發人員指南中的從 SSML 文件產生語音。允許的值 —
ssml
|text
必要 — 否
預設值 —
SpeechParameters.Text
值 - FailureSpeechParameters.VoiceId
-
說明 — 用來朗讀字串的聲音 ID
FailureSpeechParameters.Text
。允許的值 — Amazon Polly 語音 ID
必要 — 是
預設值 —
SpeechParameters.VoiceId
值 - MinNumberOfDigits
-
說明 — 逾時或播放「通話失敗」訊息之前要擷取的位數下限。
允許的值 — 大於或等於零
必要 — 否
預設值 — 0
- MaxNumberOfDigits
-
說明 — 停止而不終止數字之前要擷取的最大位數。
允許的值 — 大於
MinNumberOfDigits
必要 — 否
預設值:
- TerminatorDigits
-
說明 — 如果使用者輸入的數字小於 MaxNumberOfDigits
允許的值-以下任何一個:0 1 2 3 4 5 7 8 9 # 或 *
必要 — 否
預設值 — #
- InBetweenDigitsDurationInMilliseconds
-
說明 — 播放失敗語音之前,數字輸入之間的等待時間 (毫秒)。
允許的值 — 大於零
必要 — 否
預設值 — 如果未指定,則預設為該
RepeatDurationInMilliseconds
值 - Repeat
-
說明 — 嘗試取得位數的總次數。如果您省略此參數,預設值是收集數字的一次嘗試。
允許的值 — 大於零
必要 — 否
默認值-1
- RepeatDurationInMilliseconds
-
說明 — 每次嘗試取得數字的逾時 (以毫秒為單位)。
允許的值 — 大於零
必要 — 是
預設值 — 無
處理ACTION_SUCCESSFUL事件
下面的例子顯示了一個典型的ACTION_SUCCESSFUL
事件。
{ "SchemaVersion": "1.0", "Sequence": 3, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "
call-id-1
", "InputDigitsRegex": "^\d{2}#$
", "SpeechParameters": { "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" }, "FailureSpeechParameters": { "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" }, "MinNumberOfDigits":3
, "MaxNumberOfDigits":5
, "TerminatorDigits": ["#
"], "InBetweenDigitsDurationInMilliseconds":5000
, "Repeat":3
, "RepeatDurationInMilliseconds":10000
}, "ReceivedDigits": "1234
" }, "CallDetails":{ ... } }
處理ACTION_FAILED事件
下面的例子顯示了一個典型的ACTION_FAILED
事件。
{ "SchemaVersion": "1.0", "Sequence":2, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "Type": "SpeakAndGetDigits", "Parameters": { "CallId": "
call-id-1
", "InputDigitsRegex": "^\d{2}#$
", "SpeechParameters": { "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" }, "FailureSpeechParameters": { "Engine": "neural
", "LanguageCode": "en-US
", "Text": "Hello World
", "TextType": "text
", "VoiceId": "Joanna
" }, "MinNumberOfDigits":3
, "MaxNumberOfDigits":5
, "TerminatorDigits": ["#
"], "InBetweenDigitsDurationInMilliseconds":5000
, "Repeat":3
, "RepeatDurationInMilliseconds":10000
}, "ErrorType": "SystemException", "ErrorMessage": "System error while running action" }, "CallDetails":{ ... } }
錯誤處理
此表格列示並說明Speak
動作所擲回的錯誤訊息。
錯誤 | 訊息 | 原因 |
---|---|---|
|
|
用來向 Amazon Polly 發出請求的角色不存在或遺失許可。若要解決此問題,請參閱使用 Amazon Chime SDK 語音連接器服務連結角色本節中的步驟 |
|
|
驗證動作參數時發生錯誤。若要檢閱此動作的可用參數及其選項,請參閱 Amazon Polly 開發人員指南SynthesizeSpeech中的。 |
|
|
動作參數必須具有 |
|
|
文字超出字元限制。 |
|
執行動作時發生系統錯誤。 |
執行動作時發生系統錯誤。 |
使用 Amazon Chime SDK 語音連接器服務連結角色
您不需要為Speak
或動SpeakAndGetDigits
作手動建立服務連結角色。當您在 Amazon Chime 開發套件主控台或 AWS API 中建立或更新 SIP 媒體應用程式時 AWS Command Line Interface,Amazon Chime 開發套件會為您建立服務連結角色。
如需詳細資訊,請參閱 Amazon Chime SDK 管理員指南中的使用 Amazon Chime 服務連結角色。