現在使用しているのは child_process
およびコマンドラインmplayer
は、Node.JSアプリケーションを使用して、ローカルマシンでオーディオを再生します。これは機能しますが、実際には優れたソリューションではありません。私の最大の問題は、mplayerが開始されてからオーディオの再生が開始されるまでに500ミリ秒かかることです。
オーディオを再生するより良い方法はありますか?できれば圧縮オーディオですが、手に入れられるものを使用します。
node-speaker を使用することをお勧めします。これは、生のPCMデータをスピーカーに出力します(したがって、基本的にはオーディオを再生します)。
Mp3ファイルのようなものを再生している場合は、最初にPCMデータにデコードする必要があるかもしれません。これはまさに node-lame が行うことです。
お役に立てば幸いです。
(Mac OSで)私が見つけた最も簡単なものは、
exec('afplay whatever.mp3', audioEndCallback)
node-groove -libgrooveへのNode.jsバインディングを確認してください:
このライブラリは、プレイリストのオーディオのデコードとエンコードを提供します。音楽プレーヤーアプリケーションのバックエンドとして使用することを目的としていますが、あらゆるオーディオ処理ユーティリティのバックエンドとして使用するのに十分な汎用性を備えています。
免責事項:私はライブラリを書きました。これは無料のオープンソースであり、製品、サービス、または会社とは関係ありません。
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");
});