本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PlayAudio
在通話的任何腿上播放音訊檔案。音訊可以重複任意次數。可使用 中設定的 DTMF 數字來終止進行中音訊PlaybackTerminators。
目前,Amazon Chime SDK 僅支援從 Amazon Simple Storage Service (Amazon S3) 儲存貯體播放音訊檔案。S3 儲存貯體必須屬於與 SIP 媒體應用程式相同的 AWS 帳戶。此外,您必須將 s3:GetObject許可授予 Amazon Chime SDK Voice Connector 服務主體。您可以使用 S3 主控台或命令列界面 (CLI) 來執行此操作。
下列程式碼範例顯示典型的儲存貯體政策。
Audio Service 會代表 Sip Media Application 讀取和寫入 S3 儲存貯體。若要避免混淆代理人問題,您可以限制 S3 儲存貯體存取單一 SIP 媒體應用程式。
下列程式碼範例顯示典型的動作。
{ "Type": "PlayAudio", "Parameters": { "CallId": "call-id-1", "ParticipantTag": "LEG-A", "PlaybackTerminators": ["1", "8", "#"], "Repeat": "5", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav" } } }
- CallID
-
描述 – 中的
CallId參與者CallDetails。允許的值 – 有效的呼叫 ID。
必要 – 否,如果
ParticipantTag存在。預設值 – 無。
- ParticipantTag
-
描述 –
ParticipantTag中其中一個連線參與者的描述CallDetails。允許的值 –
LEG-A或LEG-B。必要 – 否,如果
CallId存在。預設值 – 調用
ParticipantTag的callLeg。如果您指定 ,則忽略CallId。 - PlaybackTerminator
-
描述 – 使用來自使用者的 DTMF 輸入終止進行中音訊
允許值 – 下列值的陣列:「0」、「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「#」、「*」
必要 – 否
預設值 — 無
- Repeat
-
描述 – 重複指定次數的音訊
允許的值 – 大於零的整數
必要 – 否
預設值 – 1
- AudioSource.Type
-
描述 – 音訊檔案的來源類型。
允許的值 – S3。
必要 – 是。
預設值 – 無。
- AudioSource.BucketName
-
描述 – 對於 S3 來源類型,S3 儲存貯體必須屬於與 SIP 應用程式相同的 AWS 帳戶。儲存貯體必須能夠存取 Amazon Chime SDK Voice Connector 服務主體,也就是 voiceconnector.chime.amazonaws.com。
允許的值 – Amazon Chime SDK 可存取
s3:GetObject動作的有效 S3 儲存貯體。必要 – 是。
預設值 – 無。
- AudioSource.key
-
描述 – 對於 S3 來源類型,來自
AudioSource.BucketName屬性中指定之 S3 儲存貯體的檔案名稱。允許的值 – 有效的音訊檔案。
必要 – 是。
預設值 – 無。
SIP 媒體應用程式會嘗試播放來源 URL 的音訊。您可以使用大小不超過 50 MB 的原始未壓縮 PCM .wav 檔案。Amazon Chime SDK 建議 8 KHz 單機。
當撥號計劃中的最後一個指示為 PlayAudio且檔案完成播放時,或者使用者使用按鍵停止播放時,應用程式會使用下列範例所示的事件叫用 AWS Lambda 函數。
{ "SchemaVersion": "1.0", "Sequence": INTEGER, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "valid-S3-bucket-name", "Key": "wave-file.wav", } } }
終止數字停止音訊後,不會重複音訊。
錯誤處理
當驗證檔案包含錯誤,或執行動作時發生錯誤時,SIP 媒體應用程式會使用適當的錯誤碼呼叫 AWS Lambda 函數。
| 錯誤 | 訊息 | 原因 |
|---|---|---|
|
|
音訊來源參數無效。 |
此錯誤可能因多種原因而發生。例如,由於許可問題或 URL 問題,SIP 媒體應用程式無法存取 檔案。或者,音訊檔案可能會因格式、持續時間、大小等而驗證失敗。 |
|
|
執行動作時發生系統錯誤。 |
執行 動作時發生另一個系統錯誤。 |
|
|
動作的 CallId 或 ParticipantTag 參數無效。 |
動作包含無效的參數。 |
下列程式碼範例顯示典型的調用失敗。
{ "SchemaVersion": "1.0", "Sequence": 2, "InvocationEventType": "ACTION_FAILED", "ActionData": { "Type": "PlayAudio", "Parameters" : { "CallId": "call-id-1", "AudioSource": { "Type": "S3", "BucketName": "bucket-name", "Key": "audio-file.wav" }, }, "ErrorType": "InvalidAudioSource", "ErrorMessage": "Audio Source parameter value is invalid." } "CallDetails": { ... } }
請參閱 GitHub 上的工作範例: