问题描述
我正在设置一个节点服务器来记录麦克风音频,并将其保存以用于声音安装。我可以获取文件,但实际上不是.wav文件,因此无法在自己的计算机上播放音频文件。关于如何将音频转换为.wav甚至mp3的任何想法? 非常感谢您的帮助!
服务器端:
app.get('/messages',(req,res) => {
readdir(messageFolder)
.then(messageFilenames => {
res.status(200).json({ messageFilenames });
let totalFiles = messageFilenames.length; // return the number of files
console.log(totalFiles); // print the total number of files
myID = totalFiles + 1;
})
.catch(err => {
console.log('Error reading message directory',err);
res.sendStatus(500);
});
});
app.post('/messages',res) => {
if (!req.body.message) {
return res.status(400).json({ error: 'No req.body.message' });
}
//the problem must be in this line?
writeFile(messageFolder + "sound" + ".wav",req.body.message,'base64')
.then(() => {
res.status(201).json({ message: 'Saved message' });
})
.catch(err => {
console.log('Error writing message to file',err);
res.sendStatus(500);
});
});
客户端:
saveButton.addEventListener('click',() => {
const reader = new FileReader();
reader.readAsDataURL(audio.audioBlob);
reader.onload = () => {
const base64AudioMessage = reader.result.split(',')[1];
fetch('/messages',{
method: 'POST',headers: {
'Content-Type': 'application/json'
},body: JSON.stringify({
message: base64AudioMessage
})
}).then(res => {
if (res.status === 201) {
return populateAudioMessages();
}
console.log('Invalid status saving audio message: ' + res.status);
});
};
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)