android - 如何添加 API 密钥以使用 Google Cloud TTS?
问题描述
我正在尝试为 Cloud TTS 创建一个简单的测试应用程序。官方文档似乎没有提供任何关于 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 的说明。
万一将来有人看到这个问题,我想我通过执行此页面的功能解决了这个问题。我将其复制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 ->
解决方案
推荐阅读
- python - 根据位置值检查 5 位数字是否在列表中
- laravel - Laravel:以一对多关系循环检索数据
- oracle - 12703. 00000 - “不支持此字符集转换”
- vega-lite - Vega Lite 字体可用性
- javascript - 从 JSON 中删除 src 以创建图像
- javascript - Firestore 函数 Console.log
- flutter - 使用 Flutter Firestore 插件,为文档中的每个子集合做一些事情
- java - 递归除法迷宫 Java
- list - Ansible 消费 AD 命令输出
- java - 如何将 pom.xml 中的值传递给 testng 中测试标签的启用属性