기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PlayAudio
통화 레그에서 오디오 파일을 재생합니다. 오디오는 여러 번 반복될 수 있습니다. PlaybackTerminators
에 설정된 DTMF 숫자를 사용하여 진행 중인 오디오를 종료할 수 있습니다.
현재 Amazon Chime SDK는 Amazon Simple Storage Service(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
" } } } ] }
오디오 서비스는 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
의 연결된 참가자 중 한 명의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에서 오디오를 재생하려고 합니다. 크기가 50MB 이하인 압축되지 않은 원시 PCM .wav 파일을 사용할 수 있습니다. Amazon Chime SDK는 8kHz 모노를 권장합니다.
다이얼플랜의 마지막 명령이 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 함수를 호출합니다.
Error | 메시지 | 이유 |
---|---|---|
|
The audio source parameter is invalid. |
여러 가지 이유로 이 오류가 발생할 수 있습니다. 예를 들어 권한 문제 또는 URL 관련 문제로 인해 SIP 미디어 애플리케이션이 파일에 액세스할 수 없습니다. 또한 형식, 길이, 크기 등으로 인해 오디오 파일이 검증에 실패할 수 있습니다. |
|
System error while running action. |
작업을 실행하는 동안 다른 시스템 오류가 발생했습니다. |
|
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.