はじめに
●MPD管理下の曲をコマンドで操作する。
WEB操作、GoogleHome操作は下記の記事を参考に修正してください。
WSLのUbuntuでPC内の音楽データをGoogleHomeで操作する
WSLのUbuntu環境でPC内音楽データをWeb操作する(おまけでyoutube音楽とGooglehomeで伝言)
環境
●WSLのUbuntu環境で構築しています。ラズパイでも問題ありません。
●mpd,mpc,mplayerをインストールする
PC内音楽データを再生するプログラム(pc2play.js)
●単体で起動する方法
$node pc2play.js 松田聖子&赤いスイートピー(artist&title)
const exec = require('child_process').exec;
//値取得
const value = process.argv[2];
if (!value) return
console.log(value)
const value3 = value.split('&');
console.log(value3[0])
console.log(value3[1])
console.log(value3.length)
// キーワードから検索し、音楽データのパスを取得する。
play_pcmusic(value3);
// 音楽ファイルのパスを取得し、再生する。
function play_pcmusic(keyword) {
if(keyword.length == 1) { //artistのみ
// 取得したパス(htdocs/...)の先頭にMPDの音楽ライブラリのパス(/mnt/j/music)を追加
command = 'mpc search artist "' + keyword[0] + '" | sed -e "s/htdocs/\\/mnt\\/j\\/music\\/htdocs/">/mnt/j/music/htdocs/music/playlist';
} else { //artist&title
command = 'mpc search artist "' + keyword[0] + '" title "' + keyword[1] + '" | sed -e "s/htdocs/\\/mnt\\/j\\/music\\/htdocs/">/mnt/j/music/htdocs/music/playlist';
}
console.log(command)
var exec = require('child_process').exec;
exec(command);
function mplay(){
command = 'mplayer -shuffle -playlist /mnt/j/music/htdocs/music/playlist';
console.log(command)
var exec = require('child_process').exec;
exec(command);
}
setTimeout(mplay,3000);
}