ネットワーク対応MP3ジュークボックス
をテンプレートにして作成
Start:
**小ネタ ... ネットワーク(からしか使用できない)MP3プレーヤ
~
|&ref(jukebox.png);|
|CENTER:曲を登録中&br;SIZE(9){(ってKonquerorでファイルを...
これは、
-DEC Digital HiNote Ultra II
--CPU: Pentium 100MHz
--Mem: 40MB
--HDD: 1GB
での実行例です。こんなスペックでも十分実用になっています。~
インストール後のシステムサイズは40MBをちょっと切るくらい...
それを差し引いたHDDの空き容量にMP3ファイルを格納できます。
1GBのHDDだと大体300曲くらい入るようです。~
現役引退マシンの活用方法としていかがですか?
**概要
-OpenBSD 3.7をベースに作成しました。
-運用に無関係な部分を削除、ベースシステムをスリム化しまし...
-MP3の再生には、portsのmpg123を使用しています。
-OS起動時に再生スクリプトが自動起動。所定のディレクトリを...
-MP3ファイルはローカルに格納したものの他、ネットワーク経...
-再生プロセスは、rootでない専用のユーザアカウントから一般...
-再生プロセスは、高いプロセス優先度で実行されますので、他...
**インストール
インストールの手順は、通常のOpenBSDのインストール手順とほ...
現在、kaw.ath.cxからHTTPによるネットワークインストールが...
+インストール用のブートメディアを作成し、そのメディアで起...
--''通常のOpenBSD 3.7の配布物に含まれているもの''からFDや...
+通常の手順に従ってインストール。ただし、手順の一部は以下...
--パッケージの取得方法 ... ''http''
--サーバ名 ... ''kaw.ath.cx''
--サーバ上のパス ... [[''dl/pub/OpenBSD/jukebox''>http://...
--インストールするパッケージ ... メニューに表れたbsd, bas...
--タイムゾーン ... 必ず ''Japan'' を指定(それ以外は削除さ...
--インストールの最後で''MP3 Playerのパスワード''の設定を...
+インストール後、リブートして再立ち上げする。[[OpenBSDの...
--song30.mp3 ローカルに格納されたファイルを再生
--song31.mp3 ~ song34.mp3 ... HTTP経由でファイルを再生
--song35.mp3 ~ song37.mp3 ... FTP経由でファイルを再生
>HTTPやFTP経由での再生が行われない場合は、ネットワークの...
チェックしてください。
**使用方法
システムを起動すると、ジュークボックスは自動的に再生状態...
再生したい曲を登録するには、インストール時にパスワードを...
''mp3play''ユーザで行います。
FTPやscpなどを用いて以下に説明するディレクトリ下にMP3ファ...
URLリストを転送します。
また、sshでログインし、シェルによる操作で曲の登録や再生の...
行うこともできます。
***曲の登録
ユーザmp3playのホームディレクトリの下は次の図のようになっ...
/home/
|--mp3play/
|--jukebox/
|--attic/ データの一時退避や作業用
|--cache/ ネットワーク経由で取得したMP3フ...
|--ctrl/ 再生の制御のためのファイルを格納
|--oneshot/ 一回だけ再生する曲を格納
|--oneshot_finished/
| oneshotで再生済みの曲はここに移...
|--spool0 繰り返し再生する曲格納用
|--spool1 spool0で再生済の曲はここに移動さ...
| (あるいは、逆にspool1→spool0へ移動)
|--playlist-> spool0あるいはspoo1へのシンボリ...
| (現在再生している方 ... 移動元)
|--play.sh 再生の制御スクリプト
|--asyncevent.sh
非同期イベント処理スクリプト
再生する曲には以下の2種類があります;
:MP3ファイル|MP3形式の音声ファイルそのもの。ファイル名が ...
:URLファイル|MP3ファイルのURLが列挙されたファイル。ファイ...
このようなファイルをデータディレクトリ (spool0, spool1あ...
URLファイルの場合は、FTPあるいはHTTPでネットワーク経由で...
データディレクトリ以下にサブディレクトリがあってもOKです。
その場合はサブディレクトリを再帰的にたどって再生されます。
spool0あるいは、spool1に曲を置いた場合は、それらは繰り返...
再生されます。
最初、spool0に置いてある曲を順に再生し、終わったものからs...
に移動します。spool0にある全部を再生し終わると、今度は逆...
にファイルを移動しつつ再生します。以下それを無限に繰り返...
ファイルの移動にあたってはディレクトリ構造も保存されます。
oneshotは、文字どおり一回だけ再生したいファイルを格納して...
再生が終わったファイルはoneshot_finishedに退避されます。
再生は、繰り返し再生より一回だけの再生の方が優先されます。
よって、繰り返し再生を行っている最中にoneshotに曲を登録す...
それらをエンドレス再生に割り込ませることができます。
**再生の制御
動作を制御したい場合はctrlディレクトリ以下にファイルを作...
以下のファイルはファイルが存在するかどうかで制御を
行います。ファイルの内容は見ないので、空ファイルでOKです。
:rescan|曲を再スキャンします。ファイルを登録した場合は、...
:clean|データディレクトリ以下に存在するの曲ファイルでない...
:usecache|ネットワーク経由で取得したMP3ファイルをキャッシ...
:checkcache|ディスクを調べ、空き容量が少なくなっている場...
:pause|このファイルが存在している間、再生を停止します。フ...
:exit|現在の曲の終了後、再生スクリプトを終了します(OSは停...
:restart|現在の曲の終了後、再生スクリプトを再起動します。...
:reboot|現在の曲の終了後、OSをリブートします。
:halt|現在の曲の終了後、OSを停止します。ハードウェアが対...
:mute|0になるまで音量を徐々に下げます。再生自体は続いてい...
:loud|音量を0から既定値まで徐々に上げます。
:stop|現在再生している曲を強制的に終了させます。
以下のファイルはスクリプトの起動および終了時の処理を記述...
スクリプト内で ''.'' コマンドを使用して読み込まれます。
:init|再生スクリプト開始時にユーザが行う処理を記述します...
:finish|再生スクリプト終了時にユーザが行う処理を記述しま...
:mpg123opts|MP3再生ソフト mpg123 起動時に渡すコマンドライ...
以下のファイルはスクリプト実行時に自動的に作成され、ユー...
:reverse|このファイルが存在するとき、再生方向がspool1 -> ...
:playing|再生スクリプトが実行中に作成されるディレクトリで...
**Tips
:音が途切れるんだけど…|冒頭にあげた動作環境ではごくたまに...
(インストール内容には、コンパイラもカーネルソースもないた...
**現行バージョンでの制限
-mpg123に渡すオプションは、プレイリストの先頭でのみ読み込...
-%%再生中に制御結果をすぐ反映させることは今のところできま...
**TODO
-メールインターフェースって可能? ... MP3を添付で送ると再...
-画面に何か表示させる?
--今んところ、/usr/games/grdc が置いてあるだけ。
----
[[oldFrontPage]]
End:
**小ネタ ... ネットワーク(からしか使用できない)MP3プレーヤ
~
|&ref(jukebox.png);|
|CENTER:曲を登録中&br;SIZE(9){(ってKonquerorでファイルを...
これは、
-DEC Digital HiNote Ultra II
--CPU: Pentium 100MHz
--Mem: 40MB
--HDD: 1GB
での実行例です。こんなスペックでも十分実用になっています。~
インストール後のシステムサイズは40MBをちょっと切るくらい...
それを差し引いたHDDの空き容量にMP3ファイルを格納できます。
1GBのHDDだと大体300曲くらい入るようです。~
現役引退マシンの活用方法としていかがですか?
**概要
-OpenBSD 3.7をベースに作成しました。
-運用に無関係な部分を削除、ベースシステムをスリム化しまし...
-MP3の再生には、portsのmpg123を使用しています。
-OS起動時に再生スクリプトが自動起動。所定のディレクトリを...
-MP3ファイルはローカルに格納したものの他、ネットワーク経...
-再生プロセスは、rootでない専用のユーザアカウントから一般...
-再生プロセスは、高いプロセス優先度で実行されますので、他...
**インストール
インストールの手順は、通常のOpenBSDのインストール手順とほ...
現在、kaw.ath.cxからHTTPによるネットワークインストールが...
+インストール用のブートメディアを作成し、そのメディアで起...
--''通常のOpenBSD 3.7の配布物に含まれているもの''からFDや...
+通常の手順に従ってインストール。ただし、手順の一部は以下...
--パッケージの取得方法 ... ''http''
--サーバ名 ... ''kaw.ath.cx''
--サーバ上のパス ... [[''dl/pub/OpenBSD/jukebox''>http://...
--インストールするパッケージ ... メニューに表れたbsd, bas...
--タイムゾーン ... 必ず ''Japan'' を指定(それ以外は削除さ...
--インストールの最後で''MP3 Playerのパスワード''の設定を...
+インストール後、リブートして再立ち上げする。[[OpenBSDの...
--song30.mp3 ローカルに格納されたファイルを再生
--song31.mp3 ~ song34.mp3 ... HTTP経由でファイルを再生
--song35.mp3 ~ song37.mp3 ... FTP経由でファイルを再生
>HTTPやFTP経由での再生が行われない場合は、ネットワークの...
チェックしてください。
**使用方法
システムを起動すると、ジュークボックスは自動的に再生状態...
再生したい曲を登録するには、インストール時にパスワードを...
''mp3play''ユーザで行います。
FTPやscpなどを用いて以下に説明するディレクトリ下にMP3ファ...
URLリストを転送します。
また、sshでログインし、シェルによる操作で曲の登録や再生の...
行うこともできます。
***曲の登録
ユーザmp3playのホームディレクトリの下は次の図のようになっ...
/home/
|--mp3play/
|--jukebox/
|--attic/ データの一時退避や作業用
|--cache/ ネットワーク経由で取得したMP3フ...
|--ctrl/ 再生の制御のためのファイルを格納
|--oneshot/ 一回だけ再生する曲を格納
|--oneshot_finished/
| oneshotで再生済みの曲はここに移...
|--spool0 繰り返し再生する曲格納用
|--spool1 spool0で再生済の曲はここに移動さ...
| (あるいは、逆にspool1→spool0へ移動)
|--playlist-> spool0あるいはspoo1へのシンボリ...
| (現在再生している方 ... 移動元)
|--play.sh 再生の制御スクリプト
|--asyncevent.sh
非同期イベント処理スクリプト
再生する曲には以下の2種類があります;
:MP3ファイル|MP3形式の音声ファイルそのもの。ファイル名が ...
:URLファイル|MP3ファイルのURLが列挙されたファイル。ファイ...
このようなファイルをデータディレクトリ (spool0, spool1あ...
URLファイルの場合は、FTPあるいはHTTPでネットワーク経由で...
データディレクトリ以下にサブディレクトリがあってもOKです。
その場合はサブディレクトリを再帰的にたどって再生されます。
spool0あるいは、spool1に曲を置いた場合は、それらは繰り返...
再生されます。
最初、spool0に置いてある曲を順に再生し、終わったものからs...
に移動します。spool0にある全部を再生し終わると、今度は逆...
にファイルを移動しつつ再生します。以下それを無限に繰り返...
ファイルの移動にあたってはディレクトリ構造も保存されます。
oneshotは、文字どおり一回だけ再生したいファイルを格納して...
再生が終わったファイルはoneshot_finishedに退避されます。
再生は、繰り返し再生より一回だけの再生の方が優先されます。
よって、繰り返し再生を行っている最中にoneshotに曲を登録す...
それらをエンドレス再生に割り込ませることができます。
**再生の制御
動作を制御したい場合はctrlディレクトリ以下にファイルを作...
以下のファイルはファイルが存在するかどうかで制御を
行います。ファイルの内容は見ないので、空ファイルでOKです。
:rescan|曲を再スキャンします。ファイルを登録した場合は、...
:clean|データディレクトリ以下に存在するの曲ファイルでない...
:usecache|ネットワーク経由で取得したMP3ファイルをキャッシ...
:checkcache|ディスクを調べ、空き容量が少なくなっている場...
:pause|このファイルが存在している間、再生を停止します。フ...
:exit|現在の曲の終了後、再生スクリプトを終了します(OSは停...
:restart|現在の曲の終了後、再生スクリプトを再起動します。...
:reboot|現在の曲の終了後、OSをリブートします。
:halt|現在の曲の終了後、OSを停止します。ハードウェアが対...
:mute|0になるまで音量を徐々に下げます。再生自体は続いてい...
:loud|音量を0から既定値まで徐々に上げます。
:stop|現在再生している曲を強制的に終了させます。
以下のファイルはスクリプトの起動および終了時の処理を記述...
スクリプト内で ''.'' コマンドを使用して読み込まれます。
:init|再生スクリプト開始時にユーザが行う処理を記述します...
:finish|再生スクリプト終了時にユーザが行う処理を記述しま...
:mpg123opts|MP3再生ソフト mpg123 起動時に渡すコマンドライ...
以下のファイルはスクリプト実行時に自動的に作成され、ユー...
:reverse|このファイルが存在するとき、再生方向がspool1 -> ...
:playing|再生スクリプトが実行中に作成されるディレクトリで...
**Tips
:音が途切れるんだけど…|冒頭にあげた動作環境ではごくたまに...
(インストール内容には、コンパイラもカーネルソースもないた...
**現行バージョンでの制限
-mpg123に渡すオプションは、プレイリストの先頭でのみ読み込...
-%%再生中に制御結果をすぐ反映させることは今のところできま...
**TODO
-メールインターフェースって可能? ... MP3を添付で送ると再...
-画面に何か表示させる?
--今んところ、/usr/games/grdc が置いてあるだけ。
----
[[oldFrontPage]]
Page: