如何添加API密钥以使用Google Cloud TTS?

时间:2019-03-10 21:46:57

标签: android google-cloud-platform

我正在尝试为Cloud TTS创建一个简单的测试应用程序。 official documentation似乎没有提供有关Android的任何特定信息,而最接近的是Java。

我创建了一个默认应用,然后添加了这样的库

implementation 'com.google.cloud:google-cloud-texttospeech:0.82.0-beta'

这导致了一个奇怪的构建错误,所以我在阅读了一个现有的StackOverflow问题后就添加了它

packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
    exclude 'META-INF/INDEX.LIST'
}

现在可以编译,但是当然会导致运行时异常,表明必须定义GOOGLE_APPLICATION_CREDENTIALS。但是如何使用Android做到这一点?文档页面仅包含Windows / Linux / macOS的说明。


万一将来有人看到这个问题,我想我可以通过this page来解决。我将credential.json复制到了raw目录,并在调用API之前做了以下事情。

    val cred = ServiceAccountCredentials.fromStream(resources.openRawResource(R.raw.credentials));
    val buil = TextToSpeechSettings.newBuilder();
    buil.credentialsProvider = FixedCredentialsProvider.create(cred);
    val sett = buil.build();

    // Instantiates a client
    TextToSpeechClient.create(sett).use { textToSpeechClient ->

1 个答案:

答案 0 :(得分:0)

这里是Google Cloud TTS的example

您可以阅读issue有关Google Cloud TTS Github问题的信息。

Google Cloud TTS当前不支持android。

您可以使用Restful API获取音频Base64编码,并使用MediaPlayer库播放音频。