Как использовать функции Firebase https для доступа к облачному тексту Google в речь в приложении для Android? - PullRequest
0 голосов
/ 15 мая 2019

Я создаю приложение, которое преобразует текст в речь. Но я хочу использовать 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 в речевой код, и она работает нормально. Пожалуйста, покажите любой связанный пример или код или, пожалуйста, укажите, как это сделать. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...