環境
- Raspberry Pi 3
- Node.js
$ uname -a
Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux
play-soundモジュール
Node.jsで音声ファイルの再生ができます。
$ npm i --save play-sound
app.js
'use strict';
const player = require('play-sound')();
player.play('./audiofile/opening.mp3', err => {
if (err) throw err
});
こんな感じで使えて簡単です。
ハマった所
Raspberry Pi上でインストールしようとしてnpm install
したときにはまりました。
"alsa/asoundlib.h : No such file or directory"
・
・
・
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/n0bisuke/.nodebrew/node/v9.2.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at ChildProcess.emit (events.js:159:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Linux 4.4.0-78-generic
gyp ERR! command "/home/n0bisuke/.nodebrew/node/v9.2.0/bin/node" "/home/n0bisuke/.nodebrew/node/v9.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/n0bisuke/audio/node_modules/lame
gyp ERR! node -v v9.2.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN audio@1.0.0 No description
npm WARN audio@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! lame@1.2.4 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lame@1.2.4 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/n0bisuke/.npm/_logs/2017-12-12T16_39_37_274Z-debug.log
などが表示されmake errorが出ました。
asoundlib.h
が無いよってエラーみたいですが、この辺を参考に以下を実行してから再度npm installを実行するとうまくいきました。
このasoundlib.h
のファイルはこちらの記事によるとビルドしているlinuxのルートファイルシステム内(/usr/arm-linux-gnueabi以下)から供給
されているものらしいです。
$ sudo apt-get update
$ sudo apt-get install libasound2-dev
これで再インストールするとうまくいきました。