Я создаю приложение, которое преобразует текст в речь. Но я хочу использовать Google Text Text To Speech и загрузить приложение для аудио на Android. взгляните на ответы на вопросы StackOverflow, это рабочий процесс для решения:
Аутентификация Firebase работает, но я получаю сообщение об ошибке при использовании Google Text to Speech API
Я написал облачную функцию из примера Google по этой ссылке , как показано ниже:
export const helloWorld = functions.https.onRequest((request, response) => {
try{
response.send({data:getSpeech()});
}catch(error){
response.status(500).send(error)
}
});
async function getSpeech(){
// Imports the Google Cloud client library
const textToSpeech = require('@google-cloud/text-to-speech');
// Import other required libraries
const fs = require('fs');
const util = require('util');
async function main() {
// Creates a client
const client = new textToSpeech.TextToSpeechClient();
// The text to synthesize
const text = 'Hello, world!';
// Construct the request
const request = {
input: {text: text},
// Select the language and SSML Voice Gender (optional)
voice: {languageCode: 'en-US', ssmlGender: 'NEUTRAL'},
// Select the type of audio encoding
audioConfig: {audioEncoding: 'MP3'},
};
// Performs the Text-to-Speech request
const [response] = await client.synthesizeSpeech(request);
// Write the binary audio content to a local file
const writeFile = util.promisify(fs.writeFile);
await writeFile('output.mp3', response.audioContent, 'binary');
//await response.audioContent
//return response.audioContent
console.log('Audio content written to file: output.mp3');
}
}
и я написал код Android в kotlin, как показано ниже:
functions.getHttpsCallable("helloWorld").call(data)
.addOnSuccessListener {
Log.d("jaspal","onSuccessListener")
Log.d("jaspal","helloWorld: ${it}")
Log.d("jaspal","helloWorld: ${it.data}")
}
.addOnFailureListener{
Log.d("jaspal","onFailureListener")
Log.d("jaspal","Error occured: $it")
}
Я много чего пробовал, но ничего не получалось. Журнал от Android-приложения, как показано ниже:
D/jaspal: onSuccessListener
D/jaspal: helloWorld: com.google.firebase.functions.HttpsCallableResult@1d67f4
D/jaspal: helloWorld: {domain={_eventsCount=1, domain=null, members=[], _events={}}}
Я попытался запустить облачную функцию без Google Text в речевой код, и она работает нормально. Пожалуйста, покажите любой связанный пример или код или, пожалуйста, укажите, как это сделать. Спасибо.