我正在尝试为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 ->