node.js - 我保存了从响应中获得的音频文件,但它不播放
问题描述
我正在使用文本转语音 API。在 postman 上,直接调用 API 时,可以在 postman 中播放返回的音频文件。但是当我通过我的节点服务器调用 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`
该代码确实将 a 保存file.mpeg
在正确的目录中,但无法播放音频。
下面是console.log(body)
. 如您所见,有些东西坏了。
如果我替换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)
解决方案
推荐阅读
- html - 如果单击页面上的其他任何位置,汉堡菜单列表切换就会消失
- python - 我在尝试使用 discord.py 制作反应机器人时没有得到任何结果
- python - 烧瓶说'模块“flaskr.db'没有属性'init_app'”
- puppeteer - 等待网站完全加载
- winapi - 带有标志 AI_NUMERICHOST 的 getaddrinfo
- excel - 以 ROWS 而非 COLUMNS 为中心
- angular - Angular:使用解析器迭代嵌套对象
- asp.net - ASP.NET Core 3.1 - IIS 服务器上带有重音字符问题的字符串后面的代码
- gremlin - 如何使用范围合并?
- pandas - 根据日期时间将我的数据框划分为 n 个间隔