Как получить аудиофайл из формы, а затем воспроизвести его - Nodejs Express - PullRequest
0 голосов
/ 19 мая 2019

Моя цель - получить аудиофайл из формы (используя мопса) и затем воспроизвести этот аудиофайл.Мне не нужно хранить его, так как его нужно играть только один раз.Для контекста - я очень новичок в nodeJS / express.

Я использую multer для получения файла.

Мой код формы pug, позволяющий пользователю загружать аудиофайл на маршрут defineIfSkit, выглядит следующим образом:

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

До сих пор мой подход заключался в получении файла, создании audioBuffer.из него с помощью audio-buffer-from, затем с помощью audio-play для воспроизведения этого буфера.Мои операторы require и defineIfSkit route выглядят так:

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);
...
});

Когда я запускаю этот код, ожидаемый результат заключается в том, что он начинает воспроизводить песню, которая была загружена через форму.Однако вместо этого звучит громкий белый шум, что наводит меня на мысль, что я сделал это совершенно неправильно.

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