16. ブラウザから音楽タイマー設定

ブラウザから音楽オン・オフタイマーを設定できるようにPHPとLinuxのATコマンドを利用して機能追加。

ブラウザのタイマー設定画面の項目は、

ブラウザのタイマー設定画面

音楽リモコン目次ページ(デザイン変更した)

オフタイマーは15分単位

オンタイマーで再生する曲の選択

オンタイマーで起動後60分で終了させるためのシェル

# 音楽再生
mplayer -vo null -really-quiet -shuffle -playlist music.m3u >/dev/null 2>>error.log &
pid=$!    # mplayerのPID
if [ $? = 0 ]; then
  TIME=`ps -o lstart --noheader -p $pid`    # PIDよりmplayerの開始時間を得る
  StartupTime=`date +%s -d "$TIME"`         # 開始時間を秒単位に変換
  isAlive=1
  ElapsedTime=1
  # 1時間経過したか、他の操作でmplayerが停止されていたら終了
  while [ $isAlive -ne 0 ] && [ $ElapsedTime -lt 3600 ]
  do
    sleep 2
    isAlive=`ps -ef | grep $pid | grep -v grep | wc -l`    # mplayerの稼働中を確認
    CurrentTime=`date +%s`                   # 現在の時間を秒単位で得る
    ElapsedTime=`expr $CurrentTime - $StartupTime`
  done
  
*ATコマンドを開始用と60分後の終了用の2つで行っても良さそうだけど、色々試したくて。。。(^!^;ゞヘヘ

【参考】
  1. Linuxで2つの時刻の引き算して時刻を計算する
  2. date コマンド

2019/02/12