カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■赤外線リモコンで alsaplayer をコントロール
 KURO-RS がリモコン受信機としても使えることがわかったので、alsaplayer をコントロールしてみます。まずは簡単なところから始めることにして、
   (1) リモコンのボタンを押すと一時停止と再開ができる
   (2) インターネット・ラジオがボタン一つで再生できる を目標にしてみます。 

サンスイ RS-F2

■リモコンのボタンと信号を調べる
 赤外線リモコンには、古いミニコンポのリモコンを利用することにしました。

サンスイ RS-F2

サンスイのミニコンポに付属していたリモコン

 リモコンのコードとボタンの対応は、前に作成した rs_exec を使って調べておきます。ここでは、数字ボタンとスキップ、停止、再生などの必要最小限のボタンを調べてみました。
  ここでのボタンとコード、役割は、次の表のようにしました(インターネット・ラジオ再生中には操作できないものを含む)。
ボタン   コード                                     役割  

1        "01011101101000101000001001111101" インターネット・ラジオ1  

2        "01011101101000100100001010111101" インターネット・ラジオ2  

3        "01011101101000101100001000111101" インターネット・ラジオ3  

4        "01011101101000100010001011011101" インターネット・ラジオ4 

CD前の曲    "01011101101000100001100011100111" 前の曲へ  

CD次の曲    "01011101101000101001100001100111" 次の曲へ  

CD前サーチ  "01011101101000101110101000010101" 10秒戻る  

CD後サーチ  "01011101101000100001101011100101" 10秒進む  

CD停止      "01011101101000100101100010100111" 一時停止  

CD再生      "01011101101000101101100000100111" 再生再開

■alsaplayer の動作
 alsaplayer は、次のように URL を与えるとインターネット・ラジオが再生できます。
alsaplayer <URL>
 <URL> の部分には、http:// で始まるインターネット上のプレイ・リストを渡してもかまいませんし、file:// で始まる玄箱PRO上のプレイ・リスト・ファイルを指定してもかまいません(file:// を省略してファイル名だけでもかまわない)。
  プレイ・リストの形式は、1行に再生するファイルの URL (もしくはファイル名)が書かれた .m3u か、もう少し複雑な .pls 形式に対応しています。ほかにも次のように引数を与えることで再生動作を指示できます(インターネット・ラジオ再生中には操作できないものも含む)。
alsaplayer --prev      前の曲に戻って再生  

alsaplayer --next      次の曲を再生  

alsaplayer --relative -10 10秒戻って再生  

alsaplayer --relative 10  10秒進んで再生  

alsaplayer --pause    再生の一時停止  

alsaplayer --start    再生の再開  

alsaplayer --quit     alsaplayer の終了

■インターネット・ラジオの URL を調べる
 インターネット・ラジオの放送局の URL をまずは集めなければいけません。そこで iTunes の助けを借りることにしました。iTunes が動いている PC (Mac) で、ライブラリからラジオを選んで、気に入った放送を探します。気に入った放送を集めて、iTunes のプレイ・リストを作成します。 
 プレイ・リストを選択した状態で、「ファイル」→「エクスポート」をクリックし、プレイ・リストを適当なディレクトリに保存します。保存した、<プレイ・リスト名>.txt をダブルクリックしメモ帳などで開いてみます。

iTunes の Playlist をメモ帳で開く

 1行1行がとても長いですが、1行目にあるとおり、iTunes で表示される名前や、ジャンルなどが書かれています。ここで重要なのは最後の http:// で始まる URL です。 

■alsaplayer に渡すプレイ・リスト
 iTunes のプレイ・リストに書かれている URL を " (ダブルクォーテーション)で囲って alsaplayer に渡してみました。
alsaplayer "http://......"
ところが、うまく再生できる URL と再生できない URL があることが判明しました。ためしに、wget で対象の URL をダウンロードし、ダウンロードしたプレイ・リストを alsaplayer に渡すと再生できる場合が増えることがわかりました。
  そこで、iTunes で調べた URL からプレイ・リストをダウンロードして、ファイルとして保存し、そのファイルを alsaplayer に渡すことにします。たとえば、
wget "http://......" -O 1.pls alsaplayer 1.pls
です。wget の -O オプションで、保存するファイル名を指定しています。ここで、wget が、「長さ:特定できません」あるいは「Length: unspecified」と表示して、いつまでも終わらない場合には、Shoutcast 形式でストリームを直接ダウンロードしてしまっているので、うまくいきません。そういった URL については今回は対象としないことにします。 

■作成したプログラム 
 以前に作成した rs_exec.c を基に、rs_alsa.cを作成しました。ダウンロードして、
make rs_alsa
 または、
cc -o rs_alsa rs_alsa.c
でコンパイルして実行します。rs_alsa を実行するディレクトリには、プレイ・リスト 1.pls, 2.pls, 3.pls, 4.pls が必要です。またリモコン・コードは、ご自分のリモコンにあわせてください。
./rs_alsa
と実行すると、1から4のボタンで、インターネット・ラジオが再生されます。停止ボタンと再生ボタンで、一時停止と再開ができます。登録していないリモコン・コードを受信すると rs_exec.c と同様にコードを表示します。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: 赤外線リモコンで alsaplayer をコントロール

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1091

コメントする

おすすめ書籍
Powered by
Movable Type 4.1