Я сохранил аудиофайл, полученный из ответа, но он не воспроизводится - PullRequest
0 голосов
/ 11 мая 2019

Я использую API для преобразования текста в речь.На почтальоне, когда я напрямую вызываю API, я могу воспроизвести возвращенный аудиофайл в почтальоне.Но когда я вызываю API через сервер узлов и сохраняю его, файл не воспроизводится.

Я пытался сохранить файл в mp3 и mpeg, но оба не могли быть воспроизведены.

app.post("/", (req, res) => {
  req.on("data", (data, err) => {
    let body = JSON.parse(data);
    body = querystring.stringify(body);
    request(
      {
        headers: {
          "X-NCP-APIGW-API-KEY-ID": "123123",//dummy variable
          "X-NCP-APIGW-API-KEY": "123123",//dummy variable
          "Content-Type": "application/x-www-form-urlencoded"
        },
        uri: "https://naveropenapi.apigw.ntruss.com/voice/v1/tts",
        timeout: 100000,
        method: "POST",
        body
      },
      (err, response, body) => {
        console.log(body);
        if (err) res.status(400).send(err);
        else {
          fs.writeFile("./src/temp/file.mpeg", body, err => {
            if (err) console.log(err);
            res.status(200).send("success");
          });
        }
      }
    );
  });
});

Вот входные данные и результат почтальона (заголовки эквивалентны приведенному выше коду): KEY-ID , clientSecret`

enter image description here Код сохранил file.mpeg в правильном каталоге, но звук не может быть воспроизведен.

Ниже находится console.log(body).Как видите, что-то сломано.enter image description here

Если заменить body = querystring.stringify(body) на let {body} = req, я получаю следующую ошибку:

_http_outgoing.js:595
    throw new ERR_INVALID_ARG_TYPE('first argument',
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be one of type string or Buffer. Received type object
    at write_ (_http_outgoing.js:595:11)
    at ClientRequest.write (_http_outgoing.js:567:10)
    at Request.write (C:\Users\Sihoon Kim\Desktop\development\ZEPETO\node_modules\request\request.js:1500:27)
    at end (C:\Users\Sihoon Kim\Desktop\development\ZEPETO\node_modules\request\request.js:549:18)
    at Immediate.<anonymous> (C:\Users\Sihoon Kim\Desktop\development\ZEPETO\node_modules\request\request.js:578:7)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...