ジュークボックスシステム

■サーバーのオーディオをワイヤレスにしたので、次はサーバーのオーディオファイルを再生する仕掛けを整備することにした。ジュークボックスというか、要するにメディアサーバーの一種だけどウェブから操作することが前提。そういうものは以前も一回作ったことがあって、ただ、微妙に使いにくいのでやめてしまった。

 やめた理由の一つはオーディオ再生するプログラムをCGIで呼び出すと、再生が終了するまでブラウザをロックしてしまうことと、それを避けるために非同期起動させると今度は制御できなくなることだった。
 ブラウザとは非同期で再生させて、制御できるようにするには、ブラウザから直接プレーヤーソフトを起動するのではなく、間に1つサーバーを立てて、そこを経由させる作りにせざるを得ない。ブラウザからの再生指示は、サーバーの中にウェイティングリストとしてキューイングさせる。

 そうした構造を持たせることとなれば、再生状況はサーバーの内部ステータスをサマリレポートとしてダンプしたものを、別のクライアントプログラムが読むようにすればいい。作るモジュールも、中心となるサーバーと、サーバーに対するインターフェースクラス、そしてクライアントの実装ということになる。

Jukubox Structure

 ジュークボックスサーバーはキューイング、mp3プレイヤープロセスの管理、ステータス情報の開示をしているだけで、あまり複雑なことはしていない。mo3ファイルはwmpからのリッピングで生成されるけど、その格納構造はツリー構造を持っている。そこからアドホックにサーバーへ渡すプレイリストを生成する必要があるのだけど、そうしたいろいろなバリエーションのありそうな処理はクライアント側(Request Client)で行う作りとしている。

 クライアント・サーバー間の通信は古典的なIPCで、セマフォやメッセージングキュー、共有メモリを使う。サーバー間の通信ではないのでSOAPやRFCは不要というだけなのだけど、そうしたサーバー間通信をハンドリングし、サーバーへ中継ぎをするインターフェースとしてのクライアントを実装することも可能ではある。(けど、そこまで作るかは考えていない)

Copyright (C) 2008-2015 Satosh Saitou. All rights reserved.
戻る
日記::一覧展開
2016.06
2016.05
2015.12
2015.11
2015.08
2015.07
2015.06
2015.05
2015.04
2015.03
2015.02
2015.01
2014.12
2014.11
2014.10
ケース加工 (2014.10.11)
2014.09
RaspberryPi B+ (2014.09.06)
2014.08
2014.07
SDカード再び (2014.07.05)
2014.06
2014.05
2014.04
2014.03
2014.02
2014.01
2013.12
2013.11
2013.10
2013.09
ヒステリシス (2013.09.28)
2013.08
2013.07
2013.06
2013.05
2013.04
箱詰め終わる (2013.04.13)
2013.03
XBeeで接続する (2013.03.10)
2013.02
音と光 (2013.02.03)
2013.01
2012.12
外装に収める (2012.12.23)
2012.11
2012.10
MPL1151A1 (2012.10.07)
2012.09
2012.08
2012.07
2012.06
2012.05
DHT11 (2012.05.12)
2012.04
PHPでIPCを行う (2012.04.22)
DHCPを立てる (2012.04.14)
DNSを立てる (2012.04.08)
2012.03
IPv6を追加する (2012.03.17)
MTUを調整する (2012.03.11)
2012.02
2012.01
2011.12
2011.11
アサーション (2011.11.20)
XB24-BとXB24-ZB (2011.11.06)
2011.10
家電入れ替え (2011.10.23)
2011.09
湿度センサ (2011.09.25)
2011.08
2011.07
2011.06
2011.05
2011.04
2011.03
2011.02
2011.01
2010.12
PWMで赤外線 (2010.12.26)
2010.11
2010.10
2010.09
音を鳴らす (2010.09.12)
2010.08
2010.07
2010.06
2010.05
2010.04
2010.03
2010.02
2010.01
2009.12
2009.11
2009.10
2009.09
2009.08
2009.07
2009.06
2009.05
2009.03
2009.02
2009.01
2008.12
AVR HTTPサーバ (2008.12.20)
2008.11
2008.10
2008.09
2008.08
ICMP Echo応答 (2008.08.16)
MACフレーム (2008.08.03)
2008.07
2008.06
2008.05
SDカード再び (2008.05.11)
GPSロケーター (2008.05.04)
2008.04
2008.03
音が小さい (2008.03.30)
2008.02
1998.11
作成:2012.03.25
公開:2012.04.21

Valid XHTML 1.1

loading image reserved place