小ネタ ... ネットワークから(しか)使用できないMP3プレーヤ


jukebox.png
曲を登録中
(ってKonquerorでファイルをコピーしてるだけだけど…)

これは、

での実行例です。こんなスペックでも十分実用になっています。
インストール後のシステムサイズは40MBをちょっと切るくらいで、 それを差し引いたHDDの空き容量にMP3ファイルを格納できます。
現役引退マシンの活用方法としていかがですか?

インストール / 使用方法

  1. OpenBSDシステムをインストールする。
    • 内訳|bsd / baseXX.tgz / etcXX.tgz / gameXX.tgz / (packagesから) mpg123
  2. 上記のシステムから不要なファイルを削除する。
    • 現在、残しておいているファイルの一覧 ... filels-lRAF.gz
  3. 以下のスクリプトをバックグラウンドで実行
    # /home/mp3play/jukebox/player.sh </dev/null >&0 2>&0 &
    ディレクトリ/home/mp3play/jukebox/playlist以下にMP3ファイルを置いておくと 勝手に再生を開始する。
    #!/bin/sh
    
    cd `dirname $0` || exit 1
    
    while :
    do
      unset opts
      [ -f ctrl/mpg123opts ] && opts=`cat ctrl/mpg123opts`
    
      songs=`find playlist -type f -iname '*.mp3' | sort`
    
      if [ X"$songs" = X ]
      then
        echo "no files to play"
        sleep 15
    
      else
        for mp3 in $songs
        do
          if [ -f ctrl/exit ]
          then
            echo "Exiting..."
            exit
    
          elif [ -f ctrl/pause ]
          then
            echo "Pausing..."
            sleep 15
    
          elif [ -f $mp3 ]
          then
            nice -n -15 /usr/local/bin/mpg123 $opts $mp3
    
          else
            echo "Cannot find $mp3"
          fi
        done
      fi
    done

Tips

再生を停止したい場合
MP3ファイルを削除するかあるいは別のディレクトリに退避する。
/home/mp3play/jukebox/ctrl/pauseというファイル(空ファイルでよい)を作ると、そのファイルが存在している間、再生が一時的に停止する。
動作をカスタマイズしたい
/home/mp3play/jukebox/ctrl/optsというファイルの内容がMP3エンコーダmpg123の実行時にコマンドラインオプションとして渡されるので、ここでカスタマイズ。
スクリプトを停止したい場合
/home/mp3play/jukebox/ctrl/exitという名前のファイルを作成する。

現行バージョンでの制限


FrontPage


Front page   New Page list Search Recent changes   Help   RSS of recent changes