テレビにアルバム画像を表示しながら曲を流しっぱにしたい。
君はロックを…を流して
再生が終わると画像が変わって
ワタリドリが流れる。
2つの機能が必要だ。
・テレビ画面に画像を映し出す機能 → fbiコマンドで実現
・テレビ画面で音楽を再生する機能 → omxplayerコマンドで実現
できた。使い方はこんな感じ。
まずはMacのコンソールから
sshでRaspberryPi3に接続し
今回作るスクリプトを叩くと
$ ./mymp3pi.sh
曲が順に再生されていく。
ソースコード内で「この曲にはこの画像」という指定(アルバム画像指定)をするのが面倒。singerの名前を判断して自動で画像を拾うようにしたい。
singerの画像も、フォルダの中にあらかじめ用意するんじゃなくて、singer名から自動でGoogle画像検索される画像を表示させるようにすれば(毎回ランダムなカバー画像が出て)面白そう。次回以降で試す。
今回のソースはこれ。
$ vim mymp3pi.sh
26行目
・再生する曲を指定する(for文の引数に食わせる)
・ここを自由に入力できるように改造したい
・スクリプトの引数を食わせてもいいし
・ランダム指定でいろんな曲が流れるようにもできそう。
33行目
・fbiコマンドで画像を表示している。
36行目
・omxplayerで曲を再生している。
・再生している曲をリモコンで一時停止したり戻したりできるようにしたい。
・以前作ったmkfifoでのリモコン操作でなんとかなりそう。
コピペ用
1 #!/bin/bash
2
3 shopt -s expand_aliases
4 source ~/.bashrc
5
6 # shopt について
7 # https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html
8
9 # 異常時にちゃんと止まるスクリプト
10 # http://fj.hatenablog.jp/entry/2017/05/20/192431
11 #set -eu -o pipefail
12 #trap 'echo "ERROR: line no = $LINENO, exit status = $? > &2; exit 1' ERR
13
14 mydate=`date +"%Y%m%d_%H%M%S"`
15 mypath=`pwd`
16
17 echo $mydate
18
19 # http://d.hatena.ne.jp/nattou_curry_2/20091103/1257262803
20 # Bashを使うなら理解しておきたいアルゴリズム - 抽出・ソート・結合・集計
21
22 # 関数
23 # function multi() { echo "数値を入力"; read ans; for i in $(seq 1 10); do echo "$i"; echo $*1; done; }
24
25
26 for i in aimyon*mp3 Alex*mp3
27 do
28 echo "$i"
29
30 sudo kill -9 $(ps aux | grep -v grep | grep player | awk '{print $2}')
31 sudo kill -9 $(ps aux | grep -v grep | grep fbi | awk '{print $2}')
32
33 sudo fbi -T 1 -d /dev/fb0 -noverbose "$i".jpg
34 # sleep 3
35
36 omxplayer "$i"
37 # sleep 5
38 echo '--------------------'
39 done
*1:ans**
i