Воспроизведение аудио с помощью Node.JS
В настоящее время я использую child_process
и командной строки mplayer
для воспроизведения звука на локальном компьютере с помощью Node.JS. Это работает, но это не очень отличное решение. Моя самая большая проблема заключается в том, что требуется 500 мс от начала воспроизведения mplayer до начала воспроизведения звука.
Есть ли лучшие способы воспроизведения аудио? Предпочтительно сжатый звук, но я возьму то, что могу получить.
Ответы
Ответ 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');