Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh Android
Contoh berikut menggunakan Android SDK for Amazon Polly untuk membaca teks yang ditentukan menggunakan suara yang dipilih dari daftar suara.
Kode yang ditampilkan di sini mencakup tugas-tugas utama tetapi tidak menangani kesalahan. Untuk kode lengkapnya, lihat demo AWS Mobile SDK for Android Amazon Polly
Inisialisasi
// 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);
Dapatkan Daftar Suara yang Tersedia
// 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();
Dapatkan URL untuk Audio Stream
// 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);
Mainkan Pidato yang Disintesis
// 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(); } });