Exemplo de Android - Amazon Polly

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de Android

O exemplo a seguir usa o SDK do Android para o Amazon Polly ler o texto especificado usando uma voz selecionada de uma lista.

O código exibido aqui abrange as principais tarefas, mas não lida com erros. Para ver o código completo, consulte a Demonstração do Amazon Polly no AWS Mobile SDK for Android.

Inicializar

// Cognito pool ID. Pool needs to be unauthenticated pool with // Amazon Polly permissions. String COGNITO_POOL_ID = "YourCognitoIdentityPoolId"; // Region of Amazon Polly. Regions MY_REGION = Regions.US_EAST_1;   // Initialize the Amazon Cognito credentials provider. CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(         getApplicationContext(),         COGNITO_POOL_ID,         MY_REGION ); // Create a client that supports generation of presigned URLs. AmazonPollyPresigningClient client = new AmazonPollyPresigningClient(credentialsProvider);
Obtenha a lista de vozes disponíveis

// Create describe voices request. DescribeVoicesRequest describeVoicesRequest = new DescribeVoicesRequest(); // Synchronously ask Amazon Polly to describe available TTS voices. DescribeVoicesResult describeVoicesResult = client.describeVoices(describeVoicesRequest); List<Voice> voices = describeVoicesResult.getVoices();
Obtenha o URL para fluxo de áudio

// Create speech synthesis request. SynthesizeSpeechPresignRequest synthesizeSpeechPresignRequest =         new SynthesizeSpeechPresignRequest()         // Set the text to synthesize.         .withText("Hello world!")         // Select voice for synthesis.         .withVoiceId(voices.get(0).getId()) // "Joanna"         // Set format to MP3.         .withOutputFormat(OutputFormat.Mp3); // Get the presigned URL for synthesized speech audio stream. URL presignedSynthesizeSpeechUrl =         client.getPresignedSynthesizeSpeechUrl(synthesizeSpeechPresignRequest);
Reproduzir fala sintetizada

// Use MediaPlayer: https://developer.android.com/guide/topics/media/mediaplayer.html // Create a media player to play the synthesized audio stream. MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try {     // Set media player's data source to previously obtained URL.     mediaPlayer.setDataSource(presignedSynthesizeSpeechUrl.toString()); } catch (IOException e) {     Log.e(TAG, "Unable to set data source for the media player! " + e.getMessage()); } // Prepare the MediaPlayer asynchronously (since the data source is a network stream). mediaPlayer.prepareAsync(); // Set the callback to start the MediaPlayer when it's prepared. mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {     @Override     public void onPrepared(MediaPlayer mp) {         mp.start();     } }); // Set the callback to release the MediaPlayer after playback is completed. mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.release(); } });