2012-09-22 18 views
19

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

オーディオを再生する方法はありますか?好ましくは圧縮されたオーディオですが、私が得ることができるものを取っていきます。

+0

を@lanzzうん私も私が持っていた、その – Znarkus

+0

このため、アプリケーションがどのようなものです再確認する必要があるかもしれませんか?あなたはインターネット上で本当に待ち時間の少ないオーディオが必要ですか? – Brad

答えて

7

nodejsエコシステムでオーディオを扱う良いモジュールがあると思いますか?

この種類の質問がある場合は、まずnpmjsに行って、適切なキーワードを入力するだけです。

ここはnpmjsサイトにあるaudioに関連するモジュールのリストです。

サブパッケージbaudioは私によく見えます。

+0

私はオーディオ*ファイル*を再生したいと思ったほど明確ではありませんでした。申し訳ありません。リンクのおかげで、* komponist */* mpd *は私が使うことができるものでした。しかし、私はこのプロジェクトでは単純にしておき、 'mplayer -slave'で私の運を試してみよう。 – Znarkus

+1

baudioは間違いなく*あなたがオーディオファイルを再生するために何をしたいのですか – BonsaiOak

25

生のPCMデータをスピーカーに出力するnode-speakerを使用することをお勧めします(基本的には音声を再生します)。

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

希望に役立ちます。

+0

さらに、ここに例があります:https://gist.github.com/TooTallNate/3947591 – alessioalex

+3

にはPythonを必要としない何かが必要です... – daniellmb

+1

Pythonを必要としないものは何ですか? – John

4

私は(Mac OSの上で)見つけた最も単純な

exec('afplay whatever.mp3', audioEndCallback) 
+1

['open'](https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/open.1)もあります。html)コマンドを実行してください。 – elmigranto

6

node-grooveをチェックしてください使用することです - Node.jsのはlibgrooveへの結合:

このライブラリは、上のオーディオのデコードやエンコードを提供プレイリストこれは、音楽プレーヤアプリケーションのバックエンドとして使用することを目的としていますが、任意のオーディオ処理ユーティリティのバックエンドとして使用するには十分に一般的です。

免責事項:私は無料でオープンソースであり、製品、サービス、または会社に関係しないライブラリを作成しました。

+3

あなたの提案をありがとう。私は本当にlibgrooveが好きです。しかし、あなたがそれを書いたことに言及したいかもしれません。 – BonsaiOak

+3

それはなぜ関係がありますか?答えの品質はモジュールの作成者の影響を受けません。 – andrewrk

+0

私は@BonsaiOakが正しいと信じています。 [ヘルプセンター](http://stackoverflow.com/help/behavior)によれば、「良い、関連性の高い回答を投稿してください。もしあなたの製品やウェブサイトについて何か(すべてではありませんが)起こっていても大丈夫です。 _あなたの回答にあなたの所属を明かす必要があります。 – TachyonVortex

1

コンソールからサウンドを再生するためのもう1つの良いモジュールはplayです。パッケージに含まれているサンプルwavファイルを使用することができます。次のように例のコードは次のとおりです。

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

npm(0.5.0)でインストールされたバージョンはコールバックを実装していません。 githubリポジトリに実装されたように見えますが、明らかにリリースされませんでした。 –

1

またplay-soundモジュールを使用することができます。

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

player.play('./music/somebody20.flac', function (err) { 
    if (err) throw err; 
    console.log("Audio finished"); 
}); 
関連する問題