Как редактировать сохраняемый поток?

Рейтинг: 1Ответов: 1Опубликовано: 01.04.2015

Сохраняю поток с микрофона на сервер, за основу взял это решение: https://github.com/gabrielpoca/browser-pcm-stream

Вкратце:

  • забирается поток с микрофона
  • через binaryjs передается на сервак
  • на серваке создается wav файл (fs.createWriteStream)
  • поток из binaryjs передается через pipe в wav-файл

Файл сохраняется и прослушивается.

Вопрос: как отредактировать сохраняемый поток?

Пробовал так:

var wav = require('wav');
...
file = new wav.FileWriter('out.wav', options);
...
file._write = function(chunk, enc, next) {
  for(var i=0;i<chunk.length;i++) {
    chunk[i] += 5;
  }
  next();
}
...

После этого файл перестал заполняться, ошибок не выдает, ощущение что я затер что-то во _write, исходников не нашел.

Как правильно редактировать передаваемые потоки?

Ответы

▲ 1

Попробуйте использовать специализированные npm модули, например, node-core-audio или audiolib.

Чтобы создавать кастомные потоки для редактирования данных используйте stream.Transform.