本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PlayAudio
在通話的任何一段播放音頻文件。音頻可以重複任意次數。進行中的音訊可以使用中設定的 DTMF 數字終止。PlaybackTerminators
目前,Amazon Chime SDK 僅支援播放來自亞馬遜簡單儲存服務 (Amazon S3) 儲存貯體的音訊檔案。S3 儲存貯體必須屬於與 SIP 媒體應用程式相同的 AWS 帳戶。此外,您必須s3:GetObject
授予 Amazon Chime SDK 語音連接器服務主體的權限。您可以使用 S3 主控台或命令列介面 (CLI) 來執行此操作。
下列程式碼範例顯示典型的值區政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::
bucket-name
/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id
" } } } ] }
音訊服務會代表您的 Sip 媒體應用程式讀取和寫入 S3 儲存貯體。為了避免混淆的副問題,您可以將 S3 儲存貯體存取限制為單一 SIP 媒體應用程式。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMARead", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::
bucket-name
/*", "Condition": { "StringEquals": { "aws:SourceAccount": "aws-account-id
", "aws:SourceArn": "arn:aws:chime:region
:aws-account-id
:sma/sip-media-application-id
" } } } ] }
下列程式碼範例顯示典型的動作。
{ "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 語音連接器服務主體,也就是語音連接器 .amazonaws.com。
允許的值 — Amazon Chime 開發套件可以存取
s3:GetObject
動作的有效 S3 儲存貯體。必要 — 是。
預設值 — 無。
- AudioSource.key
-
說明 — 對於 S3 來源類型,則為
AudioSource.BucketName
屬性中指定之 S3 儲存貯體的檔案名稱。允許的值 — 有效的音訊檔案。
必要 — 是。
預設值 — 無。
SIP 媒體應用程式會嘗試從來源 URL 播放音訊。您可以使用大小不超過 50 MB 的原始、未壓縮的 PCM .wav 檔案。Amazon Chime 聲 SDK 建議使用 8 千赫 mono。
當撥號計畫中的最後一個指令為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 函數。
錯誤 | 訊息 | 原因 |
---|---|---|
|
音訊來源參數無效。 |
發生此錯誤的原因有多種。例如,SIP 媒體應用程式因權限問題或 URL 問題而無法存取檔案。或者,由於格式,持續時間,大小等原因,音頻文件可能無法驗證。 |
|
執行動作時發生系統錯誤。 |
執行動作時發生另一個系統錯誤。 |
|
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: