翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
PlayAudio
通話の任意のレッグでオーディオファイルを再生します。オーディオは何回でも繰り返すことができます。進行中のオーディオは、PlaybackTerminators で設定された DTMF ディジットを使用して終了できます。
現在、Amazon Chime SDK は Amazon Simple Storage Service (Amazon S3) バケットからのオーディオファイルの再生のみをサポートしています。S3 バケットは、SIP メディアアプリケーションと同じ AWS アカウントに属している必要があります。さらに、Amazon Chime SDK Voice Connector サービスプリンシパルに s3:GetObject 許可を付与する必要があります。この操作は、S3 コンソールまたはコマンドラインインターフェイス (CLI) を使用して実行できます。
次のコード例は、一般的なバケットポリシーを示しています。
Audio Service は、Sip メディアアプリケーションの代わりに 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
-
説明 –
CallDetailsの参加者のCallId。使用できる値 – 有効な通話 ID。
必須 –
ParticipantTagが存在する場合は、いいえ。デフォルト値 – なし。
- ParticipantTag
-
説明 –
CallDetailsで接続されている参加者のうちの 1 人のParticipantTag。使用できる値 –
LEG-AまたはLEG-B。必須 –
CallIdが存在する場合は、いいえ。デフォルト値 – 呼び出した
callLegのParticipantTag。CallIdを指定すると無視されます。 - PlaybackTerminator
-
説明 – ユーザーからの DTMF 入力を使用して、進行中のオーディオを終了します。
使用できる値 –「0」、「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「#」、「*」の値の配列
必須 – いいえ
デフォルト値 – なし
- Repeat
-
説明 – 指定した回数だけオーディオを繰り返します。
使用できる値 – 0 より大きい整数
必須 – いいえ
デフォルト値 – 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 関数を呼び出します。
| エラー | メッセージ | Reason |
|---|---|---|
|
|
オーディオソースパラメータが無効です。 |
このエラーは、さまざまな理由で発生します。例えば、許可や 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 での実際の例を参照してください。