8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

岩手県立大学Advent Calendar 2017

Day 13

ラズパイ上のNode.jsで音楽再生するときにハマった

Last updated at Posted at 2017-12-12

環境

  • 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

これで再インストールするとうまくいきました。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?