Python-Beispiele - Amazon Polly

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.

Python-Beispiele

Dieses Handbuch enthält einige Python-Codebeispiele, die für API-Aufrufe AWS SDK for Python (Boto) an Amazon Polly verwendet werden. Wir empfehlen Ihnen, Python einzurichten und den Beispielcode aus dem nachfolgenden Abschnitt zu testen. Weitere Beispiele finden Sie unter Beispielanwendungen.

Python einrichten und ein Beispiel testen (SDK)

Sie benötigen das AWS SDK for Python (Boto), um den Python-Beispielcode testen zu können. Detaillierte Anweisungen finden Sie unter AWS SDK for Python (Boto3).

So testen Sie den Python-Beispielcode

Das folgende Python-Codebeispiel führt die folgenden Aktionen aus:

  • Ruft das AWS SDK for Python (Boto) auf, um eine SynthesizeSpeech Anfrage an Amazon Polly zu senden (indem Text als Eingabe bereitgestellt wird).

  • Er greift auf den resultierenden Audiostream in der Antwort zu und speichert die Audioausgabe in einer Datei (speech.mp3) auf der lokalen Festplatte.

  • Er spielt die Audiodatei mit dem Standard-Audioplayer des lokalen Systems ab.

Speichern Sie den Code in einer Datei ("example.py") und führen Sie die Datei aus.

"""Getting Started Example for Python 2.7+/3.3+""" from boto3 import Session from botocore.exceptions import BotoCoreError, ClientError from contextlib import closing import os import sys import subprocess from tempfile import gettempdir # Create a client using the credentials and region defined in the [adminuser] # section of the AWS credentials file (~/.aws/credentials). session = Session(profile_name="adminuser") polly = session.client("polly") try: # Request speech synthesis response = polly.synthesize_speech(Text="Hello world!", OutputFormat="mp3", VoiceId="Joanna") except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully print(error) sys.exit(-1) # Access the audio stream from the response if "AudioStream" in response: # Note: Closing the stream is important because the service throttles on the # number of parallel connections. Here we are using contextlib.closing to # ensure the close method of the stream object will be called automatically # at the end of the with statement's scope. with closing(response["AudioStream"]) as stream: output = os.path.join(gettempdir(), "speech.mp3") try: # Open a file for writing the output as a binary stream with open(output, "wb") as file: file.write(stream.read()) except IOError as error: # Could not write to file, exit gracefully print(error) sys.exit(-1) else: # The response didn't contain audio data, exit gracefully print("Could not stream audio") sys.exit(-1) # Play the audio using the platform's default player if sys.platform == "win32": os.startfile(output) else: # The following works on macOS and Linux. (Darwin = mac, xdg-open = linux). opener = "open" if sys.platform == "darwin" else "xdg-open" subprocess.call([opener, output])

Weitere Beispiele sowie eine Beispielanwendung finden Sie unter Beispielanwendungen.