Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
PlayAudio
Reproduzca un archivo de audio en cualquier parte de una llamada. El audio se puede repetir tantas veces como se desee. El audio en curso se puede terminar utilizando los dígitos DTMF configurados en PlaybackTerminators
.
En la actualidad, Amazon Chime SDK solo habilita a reproducir archivos de audio del bucket de Amazon Simple Storage Service (Amazon S3). El bucket de S3 debe pertenecer a la misma AWS cuenta que la aplicación multimedia SIP. Además, debe conceder el permiso s3:GetObject
a la entidad principal del servicio Amazon Chime SDK Voice Connector. Para ello, puede usar la consola de S3 o la interfaz de la línea de comandos (CLI).
El siguiente ejemplo de código muestra una política de bucket típica.
{ "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
" } } } ] }
El servicio de audio lee y escribe en su bucket de S3 en nombre de su aplicación multimedia Sip. Para evitar el problema de adjunto confuso, puede restringir el acceso al bucket de S3 a una única aplicación multimedia 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
" } } } ] }
El siguiente ejemplo de código muestra una acción típica.
{ "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
-
Descripción: la
CallId
del participante en losCallDetails
.Valores permitidos: un identificador de llamada válido.
Obligatorio: no, si
ParticipantTag
está presente.Valor predeterminado: ninguno.
- ParticipantTag
-
Descripción: la
ParticipantTag
de uno de los participantes conectados en losCallDetails
.Valores permitidos:
LEG-A
oLEG-B
.Obligatorio: no, si
CallId
está presente.Valor predeterminado:
ParticipantTag
delcallLeg
invocado. Se omite si se especificaCallId
. - PlaybackTerminator
-
Descripción: finaliza el audio en curso mediante la entrada DTMF del usuario
Valores permitidos: matriz de los siguientes valores: «0», «1», «2», «3», «4», «5», «6», «7», «8», «9», «#», «*»
Obligatorio: no
Valor predeterminado: ninguno
- Repeat
-
Descripción: repite el audio el número de veces especificado
Valores permitidos: un número entero mayor que cero
Obligatorio: no
Valor predeterminado: 1
- AudioSource.Type
-
Descripción: tipo de fuente del archivo de audio.
Valores permitidos: S3.
Obligatorio: sí.
Valor predeterminado: ninguno.
- AudioSource.BucketName
-
Descripción: para los tipos de fuentes S3, el bucket S3 debe pertenecer a la misma AWS cuenta que la aplicación SIP. El bucket debe tener acceso a la entidad principal de Amazon Chime SDK Voice Connector, que es voiceconnector.chime.amazonaws.com.
Valores permitidos: un bucket de S3 válido para el que Amazon Chime SDK tiene acceso a la acción de
s3:GetObject
.Obligatorio: sí.
Valor predeterminado: ninguno.
- AudioSource.key
-
Descripción: para los tipos de fuentes de S3, el nombre del archivo del bucket de S3 especificado en el atributo
AudioSource.BucketName
.Valores permitidos: un archivo de audio válido.
Obligatorio: sí.
Valor predeterminado: ninguno.
La aplicación multimedia SIP intenta reproducir el audio desde la URL de origen. Puede utilizar archivos.wav PCM sin procesar y sin comprimir de un tamaño no superior a 50 MB. Amazon Chime SDK recomienda 8 kHz en mono.
Cuando la última instrucción de un plan de marcado es PlayAudio
y el archivo termina de reproducirse, o si un usuario detiene la reproducción pulsando una tecla, la aplicación invoca la AWS Lambda función con el evento que se muestra en el siguiente ejemplo.
{ "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
", } } }
Cuando un dígito final detenga el audio, no se repetirá.
Control de errores
Cuando el archivo de validación contiene errores o se produce un error al ejecutar una acción, la aplicación multimedia SIP llama a una AWS Lambda función con el código de error correspondiente.
Error | Mensaje | Motivo |
---|---|---|
|
El parámetro de la fuente de audio no es válido. |
Este error puede producirse por varios motivos. Por ejemplo, la aplicación multimedia SIP no puede acceder al archivo debido a problemas con los permisos o con la URL. O bien, es posible que el archivo de audio no pase la validación debido al formato, la duración, el tamaño, etc. |
|
Error del sistema al ejecutar la acción. |
Se ha producido otro error del sistema al ejecutar la acción. |
|
CallId o ParticipantTag el parámetro de acción no es válido. |
La acción contiene un parámetro no válido. |
El siguiente ejemplo de código muestra un error de invocación típico.
{ "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": { ... } }
Consulte los ejemplos prácticos en GitHub: