LoginSignup
0
1

More than 1 year has passed since last update.

MPD管理下の曲をコマンドで操作する。(またはWEB操作、GoogleHomeで操作)

Last updated at Posted at 2022-05-04

はじめに

●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);
    }
0
1
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
0
1