如何从表单接收音频文件然后播放-Node.js Express

时间:2019-05-19 04:47:50

标签: node.js express audio

我的目标是从表单(使用哈巴狗)接收音频文件,然后播放该音频文件。我不需要存储它,因为它只需要播放一次。对于上下文-我是nodeJS / express的新手。

我正在使用multer来接收文件。

我的哈巴狗表单代码允许用户将音频文件上传到defineIfSkit路由,如下所示:

  form(action="/determineIfSkit" method="POST" enctype="multipart/form-data")
    input(type="file" name="audioFile")
    input(type="submit")

到目前为止,我的方法是接收文件,使用audio-buffer-from从中创建一个audioBuffer,然后使用音频播放来播放该缓冲区。我的require语句和defineIfSkit路由如下:

var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer();
var createBuffer = require('audio-buffer-from');
var play = require('audio-play');

...


router.post('/determineIfSkit', upload.single('audioFile'), (req, res, next) => {
  var audioFile = req.file;
  var audioBuffer = createBuffer(Buffer.from(audioFile.buffer));

  play(audioBuffer);
...
});

运行此代码时,预期结果是它开始播放通过表单上传的歌曲。但是,相反,播放的是大声白噪声,这使我相信我完全不正确地执行了此操作。

0 个答案:

没有答案