翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
PlayAudio
通話の任意のレッグでオーディオファイルを再生します。オーディオは何回でも繰り返すことができます。進行中のオーディオは、PlaybackTerminators
で設定された DTMF ディジットを使用して終了できます。
現在、Amazon Chime SDK は Amazon Simple Storage Service (Amazon S3) バケットからのオーディオファイルの再生のみをサポートしています。S3 バケットは、SIP メディアアプリケーションと同じ AWS アカウントに属している必要があります。さらに、Amazon Chime SDK Voice Connector サービスプリンシパルに s3:GetObject
許可を付与する必要があります。この操作は、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
" } } } ] }
Audio Service は、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
-
説明 –
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 関数を呼び出します。
エラー | メッセージ | 理由 |
---|---|---|
|
オーディオソースパラメータが無効です。 |
このエラーは、さまざまな理由で発生します。例えば、許可や 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。