web-dev-qa-db-ja.com

Node.JSでオーディオを再生する

現在使用しているのは child_process およびコマンドラインmplayerは、Node.JSアプリケーションを使用して、ローカルマシンでオーディオを再生します。これは機能しますが、実際には優れたソリューションではありません。私の最大の問題は、mplayerが開始されてからオーディオの再生が開始されるまでに500ミリ秒かかることです。

オーディオを再生するより良い方法はありますか?できれば圧縮オーディオですが、手に入れられるものを使用します。

23
Znarkus

Nodejsエコシステムでオーディオと連携する優れたモジュールはありますか?

このタイプの質問がある場合は、まず npmjs に移動して、適切なキーワードを入力するだけです。

以下は、npmjsサイトで見つけた audio に関連するモジュールのリストです。

substacksの baudio は私には良さそうです。

5
saeed

node-speaker を使用することをお勧めします。これは、生のPCMデータをスピーカーに出力します(したがって、基本的にはオーディオを再生します)。

Mp3ファイルのようなものを再生している場合は、最初にPCMデータにデコードする必要があるかもしれません。これはまさに node-lame が行うことです。

お役に立てば幸いです。

30
pedromtavares

(Mac OSで)私が見つけた最も簡単なものは、

exec('afplay whatever.mp3', audioEndCallback)
6
lipsumar

node-groove -libgrooveへのNode.jsバインディングを確認してください:

このライブラリは、プレイリストのオーディオのデコードとエンコードを提供します。音楽プレーヤーアプリケーションのバックエンドとして使用することを目的としていますが、あらゆるオーディオ処理ユーティリティのバックエンドとして使用するのに十分な汎用性を備えています。

免責事項:私はライブラリを書きました。これは無料のオープンソースであり、製品、サービス、または会社とは関係ありません。

6
andrewrk

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");
 });
4
Shubham Verma