

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# PlayAudio
<a name="play-audio"></a>

Spielen Sie bei einem beliebigen Teil eines Anrufs eine Audiodatei ab. Das Audio kann beliebig oft wiederholt werden. Das laufende Audio kann mit den in der eingestellten DTMF-Ziffern beendet werden. `PlaybackTerminators`

Derzeit unterstützt das Amazon Chime SDK nur die Wiedergabe von Audiodateien aus dem Amazon Simple Storage Service (Amazon S3) -Bucket. Der S3-Bucket muss zu demselben AWS Konto gehören wie die SIP-Medienanwendung. Darüber hinaus müssen Sie dem Amazon Chime SDK Voice Connector-Service Principal die `s3:GetObject` Genehmigung erteilen. Sie können dies mithilfe der S3-Konsole oder der Befehlszeilenschnittstelle (CLI) tun.

Das folgende Codebeispiel zeigt eine typische Bucket-Richtlinie.

------
#### [ JSON ]

****  

```
{
    "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": "111122223333"
                }
            }
        }
    ]
}
```

------

Der Audiodienst liest und schreibt im Namen Ihrer Sip-Medienanwendung in Ihren S3-Bucket. Um das [Problem mit dem verwirrten Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) zu vermeiden, können Sie den Zugriff auf den S3-Bucket auf eine einzelne SIP-Medienanwendung beschränken.

------
#### [ JSON ]

****  

```
{
    "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": "111122223333",
                    "aws:SourceArn": "arn:aws:chime:us-east-1:111122223333:sma/sip-media-application-id"
                }
            }
        }
    ]
}
```

------

Das folgende Codebeispiel zeigt eine typische Aktion.

```
{
    "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**  
*Beschreibung* — `CallId` des Teilnehmers am`CallDetails`.  
*Zulässige Werte* — Eine gültige Anruf-ID.  
*Erforderlich* — Nein, `ParticipantTag` wenn vorhanden.  
*Standardwert* — Keiner.

**ParticipantTag**  
*Beschreibung* — `ParticipantTag` eines der verbundenen Teilnehmer am`CallDetails`.  
*Zulässige Werte* — `LEG-A` oder`LEG-B`.  
*Erforderlich* — Nein, `CallId` wenn vorhanden.  
*Standardwert* — `ParticipantTag` des aufgerufenen`callLeg`. Wird ignoriert, wenn Sie angeben`CallId`.

**PlaybackTerminator**  
*Beschreibung* — Beendet die laufende Audiowiedergabe mithilfe von DTMF-Eingaben des Benutzers  
*Zulässige Werte* — Ein Array mit den folgenden Werten: „0“,“ 1“,“ 2“,“ 3“,“ 4“,“ 5“,“ 6“,“ 7“,“ 8“,“ 9“,“ \$1“,“ \$1“  
*Erforderlich* — Nein  
*Standardwert* – Kein

**Repeat**  
*Beschreibung* — Wiederholt das Audio so oft wie angegeben  
*Zulässige Werte* — Eine Ganzzahl größer als Null  
*Erforderlich* — Nein  
*Standardwert* — 1

**AudioSource.Type**  
*Beschreibung* — Art der Quelle für die Audiodatei.  
*Zulässige Werte* — S3.  
*Erforderlich* — Ja.  
*Standardwert* — Keiner.

**AudioSource.BucketName**  
*Beschreibung* — Für S3-Quelltypen muss der S3-Bucket zu demselben AWS Konto gehören wie die SIP-Anwendung. Der Bucket muss Zugriff auf den Amazon Chime SDK Voice Connector-Service Principal haben, der voiceconnector.chime.amazonaws.com lautet.  
*Zulässige Werte* — Ein gültiger S3-Bucket, für den Amazon Chime SDK Zugriff auf die `s3:GetObject` Aktion hat.  
*Erforderlich* — Ja.  
*Standardwert* — Keiner.

**AudioSource.key**  
*Beschreibung* — Für S3-Quelltypen der Dateiname aus dem S3-Bucket, der im `AudioSource.BucketName` Attribut angegeben ist.  
*Zulässige Werte* — Eine gültige Audiodatei.  
*Erforderlich* — Ja.  
*Standardwert* — Keiner.

Die SIP-Medienanwendung versucht, das Audio von der Quell-URL abzuspielen. Sie können unkomprimierte PCM-.wav-Dateien mit einer Größe von nicht mehr als 50 MB verwenden. Das Amazon Chime SDK empfiehlt 8 KHz mono.

Wenn die letzte Anweisung in einem Wählplan lautet `PlayAudio` und die Datei die Wiedergabe beendet, oder wenn ein Benutzer die Wiedergabe mit einem Tastendruck stoppt, ruft die Anwendung die AWS Lambda Funktion mit dem im folgenden Beispiel gezeigten Ereignis auf.

```
{
    "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",
         }           
     }
}
```

Wenn eine abschließende Ziffer die Audiowiedergabe stoppt, wird sie nicht wiederholt.

**Fehlerbehandlung**  
Wenn die Validierungsdatei Fehler enthält oder beim Ausführen einer Aktion ein Fehler auftritt, ruft die SIP-Medienanwendung eine AWS Lambda Funktion mit dem entsprechenden Fehlercode auf.


|  Fehler  |  Fehlermeldung  |  Grund  | 
| --- | --- | --- | 
|  `InvalidAudioSource`  |  Der Audioquellenparameter ist ungültig.  |  Dieser Fehler kann aus mehreren Gründen auftreten. Beispielsweise kann die SIP-Medienanwendung aufgrund von Berechtigungsproblemen oder Problemen mit der URL nicht auf die Datei zugreifen. Oder die Überprüfung der Audiodatei schlägt möglicherweise aufgrund von Format, Dauer, Größe usw. fehl.  | 
|  `SystemException`  |  Systemfehler beim Ausführen der Aktion.  |  Beim Ausführen der Aktion ist ein weiterer Systemfehler aufgetreten.   | 
|  `InvalidActionParameter`  |  CallId oder der ParticipantTag Parameter für die Aktion ist ungültig.  |  Die Aktion enthält einen ungültigen Parameter.  | 

Das folgende Codebeispiel zeigt einen typischen Aufruffehler.

```
{
    "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": {
        ...
    }
}
```

Arbeitsbeispiele finden Sie unter GitHub:
+ [https://github.com/aws-samples/amazon-chime-sma-bridging](https://github.com/aws-samples/amazon-chime-sma-bridging).
+ [https://github.com/aws-samples/amazon-chime-sma-call-Weiterleitung](https://github.com/aws-samples/amazon-chime-sma-call-forwarding)
+ [https://github.com/aws-samples/amazon-chime-sma-outbound-Anrufbenachrichtigungen](https://github.com/aws-samples/amazon-chime-sma-outbound-call-notifications)
+ [https://github.com/aws-samples/amazon-chime-sma-on-Aufzeichnung bei Bedarf](https://github.com/aws-samples/amazon-chime-sma-on-demand-recording)
+ [https://github.com/aws-samples/amazon-chime-sma-update-anrufen](https://github.com/aws-samples/amazon-chime-sma-update-call)