以前、以下のような内容は試したことがある「Node.js で音声ファイルを再生する」というものです。
●【Node.js 2021】 WAVファイルを Node.js で再生する(Mac で node-wav-player を利用する) - Qiita
https://qiita.com/youtoy/items/ea270d180d17094807f5
上の記事を書いた時は「node-wav-player」を使っていましたが、今回は以下の「play-sound」を使ってみることにします。
●play-sound - npm
https://www.npmjs.com/package/play-sound
それと今回は Mac で試しているので、タイトルに「Mac で」と入れています。
おそらく、Mac 以外でも大丈夫かと思いますが、そこは未確認です。
⇒ コマンドで音をならす部分のプレーヤーまわりで、差異が出たりなどするかもと思いつつ、適切に環境ができてれば OS には依存しなそうとも思いつつ
鳴らす音の素材
今回、再生する MP3ファイルを探します。
play-sound で検索していた際に見かけた以下の記事で使われていた、「Springin’ Sound Stock」の素材を使うことにしました。
●開発コマンド実行時に音楽を流してDXを高める
https://zenn.dev/tam_tam/articles/cd1abb33ccb0e1
●焚き火 | 無料 BGM・効果音のフリー音源素材 | Springin’ Sound Stock
https://www.springin.org/sound-stock/subcategory/bonfire/
余談: Springin’ Sound Stock について
余談ですが、 Springin’ Sound Stock の素材は、過去の試作で使わせていただいたことが何度かあります。
また、過去の Qiita の記事で以下のような内容を書いたこともあります。
●【Scratch 2022】Scratch でも利用可能な無料の BGM・効果音のフリー音源素材を配布している「Springin’ Sound Stock」 - Qiita
https://qiita.com/youtoy/items/5c8276619233d1359400
音を鳴らしてみる
では、play-sound を使って MP3ファイルを再生してみます。
プログラムは以下のとおりです。
const player = require("play-sound")((opts = {}));
const filePath = "焚き火短.mp3";
player.play(filePath, (err) => {
if (err) {
console.log(`エラーが発生しました: ${err}`);
} else {
console.log("再生が完了しました");
}
});
console.log("再生を開始しました");
上記を実行してみます。
実行から音声の再生終了までを行った後の、ターミナルの出力は以下の通りです。
「再生を開始しました」というログ出力の後、MP3 の音が再生されているのを確認できました。
手軽に使えて、使い勝手は良さそうです!
プレイヤーについて
以下、play-sound の公式ページに書かれた、プレイヤーのリストです。
このあたりを利用して、音声を再生しているようです。