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.
Dieses Beispiel zeigt, wie Amazon Polly verwendet wird, um Sprache aus einer Java-basierten Anwendung zu streamen. Das Beispiel verwendet die AWS SDK for Java
Der abgebildete Code deckt die wichtigsten Tasks ab, führt aber nur eine minimale Fehlerprüfung durch. Wenn Amazon Polly auf einen Fehler stößt, wird die Anwendung beendet.
Zur Ausführung dieser Beispielanwendung benötigen Sie Folgendes:
-
Java 8 Java Development Kit (JDK)
So testen Sie die Anwendung
-
Stellen Sie sicher, dass für das JDK die Umgebungsvariable "JAVA_HOME" gesetzt ist.
Haben Sie beispielsweise JDK 1.8.0_121 unter Windows unter dem Pfad
C:\Program Files\Java\jdk1.8.0_121
installiert, geben Sie Folgendes in die Eingabeaufforderung ein:set JAVA_HOME=""C:\Program Files\Java\jdk1.8.0_121""
Wenn Sie JDK 1.8.0_121 unter Linux unter dem Pfad
/usr/lib/jvm/java8-openjdk-amd64
installiert haben, geben Sie Folgendes in die Eingabeaufforderung ein:export JAVA_HOME=/usr/lib/jvm/java8-openjdk-amd64
-
Legen Sie die Maven-Umgebungsvariablen so fest, dass Maven über die Befehlszeile ausgeführt wird.
Haben Sie beispielsweise Maven 3.3.9 unter Windows unter dem Pfad
C:\Program Files\apache-maven-3.3.9
installiert, geben Sie Folgendes ein:set M2_HOME=""C:\Program Files\apache-maven-3.3.9"" set M2=%M2_HOME%\bin set PATH=%M2%;%PATH%
Haben Sie Maven 3.3.9 unter Linux unter dem Pfad
/home/ec2-user/opt/apache-maven-3.3.9
installiert, geben Sie Folgendes ein:export M2_HOME=/home/ec2-user/opt/apache-maven-3.3.9 export M2=$M2_HOME/bin export PATH=$M2:$PATH
-
Erstellen Sie ein neues Verzeichnis mit dem Namen
polly-java-demo
. -
Erstellen Sie im Verzeichnis
polly-java-demo
eine neue Datei mit dem Namenpom.xml
und fügen Sie den folgenden Code in diese Datei ein:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.amazonaws.polly</groupId> <artifactId>java-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-polly --> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-polly</artifactId> <version>1.11.77</version> </dependency> <!-- https://mvnrepository.com/artifact/com.googlecode.soundlibs/jlayer --> <dependency> <groupId>com.googlecode.soundlibs</groupId> <artifactId>jlayer</artifactId> <version>1.0.1-1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <mainClass>com.amazonaws.demos.polly.PollyDemo</mainClass> </configuration> </plugin> </plugins> </build> </project>
-
Erstellen Sie ein neues Verzeichnis mit dem Namen
polly
untersrc/main/java/com/amazonaws/demos
. -
Erstellen Sie im Verzeichnis
polly
eine neue Java-Quelldatei mit dem NamenPollyDemo.java
und fügen Sie den folgenden Code in diese Datei ein:package com.amazonaws.demos.polly; import java.io.IOException; import java.io.InputStream; import com.amazonaws.ClientConfiguration; import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.polly.AmazonPollyClient; import com.amazonaws.services.polly.model.DescribeVoicesRequest; import com.amazonaws.services.polly.model.DescribeVoicesResult; import com.amazonaws.services.polly.model.OutputFormat; import com.amazonaws.services.polly.model.SynthesizeSpeechRequest; import com.amazonaws.services.polly.model.SynthesizeSpeechResult; import com.amazonaws.services.polly.model.Voice; import javazoom.jl.player.advanced.AdvancedPlayer; import javazoom.jl.player.advanced.PlaybackEvent; import javazoom.jl.player.advanced.PlaybackListener; public class PollyDemo { private final AmazonPollyClient polly; private final Voice voice; private static final String SAMPLE = "Congratulations. You have successfully built this working demo of Amazon Polly in Java. Have fun building voice enabled apps with Amazon Polly (that's me!), and always look at the AWS website for tips and tricks on using Amazon Polly and other great services from AWS"; public PollyDemo(Region region) { // create an Amazon Polly client in a specific region polly = new AmazonPollyClient(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); polly.setRegion(region); // Create describe voices request. DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest(); // Synchronously ask Amazon Polly to describe available TTS voices. DescribeVoicesResult describeVoicesResult = polly.describeVoices(describeVoicesRequest); voice = describeVoicesResult.getVoices().get(0); } public InputStream synthesize(String text, OutputFormat format) throws IOException { SynthesizeSpeechRequest synthReq = new SynthesizeSpeechRequest().withText(text).withVoiceId(voice.getId()) .withOutputFormat(format).withEngine("neural"); SynthesizeSpeechResult synthRes = polly.synthesizeSpeech(synthReq); return synthRes.getAudioStream(); } public static void main(String args[]) throws Exception { //create the test class PollyDemo helloWorld = new PollyDemo(Region.getRegion(Regions.US_EAST_1)); //get the audio stream InputStream speechStream = helloWorld.synthesize(SAMPLE, OutputFormat.Mp3); //create an MP3 player AdvancedPlayer player = new AdvancedPlayer(speechStream, javazoom.jl.player.FactoryRegistry.systemRegistry().createAudioDevice()); player.setPlayBackListener(new PlaybackListener() { @Override public void playbackStarted(PlaybackEvent evt) { System.out.println("Playback started"); System.out.println(SAMPLE); } @Override public void playbackFinished(PlaybackEvent evt) { System.out.println("Playback finished"); } }); // play it! player.play(); } }
-
Wechseln Sie zurück in das Verzeichnis
polly-java-demo
, um die Demo zu bereinigen, zu kompilieren und auszuführen:mvn clean compile exec:java