首页 > 解决方案 > Windows 10 上用于 Java 的 google-text-to-speech Api 的工作演示

问题描述

我正在尝试在 Java/Windows 桌面下获得 google-text-to-speech API 的工作演示。

我已经按照 Google Cloud 手册中的说明在 Google Cloud 中创建了一个项目,激活了 Cloud Text-to-Speech API 并创建了一个新的“服务帐户密钥”。之后,我将 Google 提供的示例程序(QuickstartSample)放入 IntelliJ 中(见下文),并尝试了其他几个来自 Github 的示例程序。我还尝试了 stackoverflow 上的几个示例/提示。

我使用 Java SDK 14.0.2、IntelliJ 2020.2.3 和 Windows 10 作为开发环境。

互联网上可用的示例程序似乎都不能正常工作。

有人可以在上述运行环境(Java SDK 14.0.2、IntelliJ 2020.2.3、W​​indows 10)中提供一个工作示例程序吗?

非常感谢任何帮助。非常感谢。

来自 Google 支持页面 (QuickstartSample) 的代码:

    // Imports the Google Cloud client library
import com.google.cloud.texttospeech.v1.AudioConfig;
import com.google.cloud.texttospeech.v1.AudioEncoding;
import com.google.cloud.texttospeech.v1.SsmlVoiceGender;
import com.google.cloud.texttospeech.v1.SynthesisInput;
import com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse;
import com.google.cloud.texttospeech.v1.TextToSpeechClient;
import com.google.cloud.texttospeech.v1.VoiceSelectionParams;
import com.google.protobuf.ByteString;
import java.io.FileOutputStream;
import java.io.OutputStream;

/**
 * Google Cloud TextToSpeech API sample application. Example usage: mvn package exec:java
 * -Dexec.mainClass='com.example.texttospeech.QuickstartSample'
 */
public class QuickstartSample {

  /** Demonstrates using the Text-to-Speech API. */
  public static void main(String... args) throws Exception {
    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
      // Set the text input to be synthesized
      SynthesisInput input = SynthesisInput.newBuilder().setText("Hello, World!").build();

      // Build the voice request, select the language code ("en-US") and the ssml voice gender
      // ("neutral")
      VoiceSelectionParams voice =
          VoiceSelectionParams.newBuilder()
              .setLanguageCode("en-US")
              .setSsmlGender(SsmlVoiceGender.NEUTRAL)
              .build();

      // Select the type of audio file you want returned
      AudioConfig audioConfig =
          AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();

      // Perform the text-to-speech request on the text input with the selected voice parameters and
      // audio file type
      SynthesizeSpeechResponse response =
          textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);

      // Get the audio contents from the response
      ByteString audioContents = response.getAudioContent();

      // Write the response to the output file.
      try (OutputStream out = new FileOutputStream("output.mp3")) {
        out.write(audioContents.toByteArray());
        System.out.println("Audio content written to file \"output.mp3\"");
      }
    }
  }
}

标签: javawindowsintellij-ideagoogle-text-to-speech

解决方案


推荐阅读