Подтвердить что ты не робот

Воспроизведение аудио с помощью Node.JS

В настоящее время я использую child_process и командной строки mplayer для воспроизведения звука на локальном компьютере с помощью Node.JS. Это работает, но это не очень отличное решение. Моя самая большая проблема заключается в том, что требуется 500 мс от начала воспроизведения mplayer до начала воспроизведения звука.

Есть ли лучшие способы воспроизведения аудио? Предпочтительно сжатый звук, но я возьму то, что могу получить.

4b9b3361

Ответ 1

Я думаю, что вы спрашиваете, есть ли хорошие модули, которые работают со звуком в экосистеме nodejs?

Всякий раз, когда у вас возникает этот вопрос, вы должны сначала перейти npmjs и просто ввести подходящее ключевое слово.

Вот список модулей, связанных с audio, которые я нашел на сайте npmjs.

substacks baudio выглядит хорошо.

Ответ 2

Я бы предложил использовать node-speaker, который выводит исходные данные PCM на ваши динамики (так что в основном он воспроизводит аудио).

Если вы играете что-то вроде mp3 файлов, вам может потребоваться сначала его декодировать данные PCM, что и делает node-lame.

Надеюсь, что это поможет.

Ответ 3

Проще всего я нашел (в Mac OS) использовать

exec('afplay whatever.mp3', audioEndCallback)

Ответ 4

Отъезд node-groove - Node.js привязка к libgroove:

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

Отказ от ответственности: я написал библиотеку, которая является бесплатной, с открытым исходным кодом и не связана ни с каким продуктом, сервисом или компанией.

Ответ 5

Вы также можете использовать модуль play-sound:

Установите с помощью npm, запустите команду:

npm install play-sound --save

Теперь используйте в своем коде:

var player = require('play-sound')(opts = {})

 player.play('./music/somebody20.flac', function (err) {
   if (err) throw err;
   console.log("Audio finished");
 });

Ответ 6

Еще один хороший модуль для воспроизведения звука с консоли - play. Вы можете использовать образцы wav файлов, включенных в пакет. Пример кода выглядит следующим образом:

var play = require('play');
play.sound('./node_modules/play/wavs/sfx/ding.wav');