本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SpeakAndGetDigits
透過提供文字並從使用者收集雙音多頻率 (DTMF) 數字來播放語音。文字可以是純文字或語音合成標記語言 (SSML) 增強文字,透過新增暫停、強調特定單字或變更說話風格等支援 SSML 功能,提供更多對 Amazon Chime SDK 如何產生語音的控制。如果發生失敗,例如使用者未輸入正確的 DTMF 數字數,動作會播放「失敗」語音,然後重播主要語音,直到 SIP 媒體應用程式耗盡 Repeat
參數中定義的嘗試次數。
Amazon Chime SDK 使用 Amazon Polly,這是一種將文字轉換為逼真的語音的雲端服務,Amazon Polly 同時提供標準和神經引擎,以提高語音品質、超過 20 種支援的語言和 60 個語音。Amazon 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
-
描述 – Lambda 函數調用
CallId
的 CallDetails 中參與者的 。允許的值 – 有效的
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
-
描述 – 用於在 中說出文字的 Amazon Polly 語音 ID
SpeechParameters.Text
。允許的值 – Amazon Polly IDs
必要 – 否
預設值 – Joanna
- 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 IDs
必要 – 是
預設值 –
SpeechParameters.VoiceId
值 - MinNumberOfDigits
-
描述 – 在逾時或播放「呼叫失敗」訊息之前要擷取的位數下限。
允許的值 – 大於或等於零
必要 – 否
預設值 – 0
- MaxNumberOfDigits
-
描述 – 在停止之前擷取的位數上限,而不終止數字。
允許的值 – 大於
MinNumberOfDigits
必要 – 否
預設值 – 128
- TerminatorDigits
-
描述 – 如果使用者輸入小於 MaxNumberOfDigits
允許值 – 任何一個:0 1 2 3 4 5 6 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 Voice Connector 服務連結角色一節中的步驟 |
|
|
驗證動作參數時發生錯誤。若要檢閱此動作的可用參數及其選項,請參閱《Amazon Polly 開發人員指南》中的 SynthesizeSpeech。 |
|
|
動作參數必須具有 |
|
|
文字超過字元限制。 |
|
執行動作時發生系統錯誤。 |
執行 動作時發生系統錯誤。 |
使用 Amazon Chime SDK Voice Connector 服務連結角色
您不需要手動為 Speak
或 SpeakAndGetDigits
動作建立服務連結角色。當您在 Amazon Chime SDK 主控台、 AWS Command Line Interface或 AWS API 中建立或更新 SIP 媒體應用程式時,Amazon Chime SDK 會為您建立服務連結角色。
如需詳細資訊,請參閱《Amazon Chime SDK 管理員指南》中的使用 Amazon Chime 服務連結角色。