FmTube(インターネット動画ラジオ)の公開
※以前別の場所で書いた文章を備忘的に書き記しておきます。
【投稿年月日】2008-02-15 【ジャンル】JavaScript
FmTubeというマッシュアップサイトを公開しました。好みのジャンル(アーティスト)に関連した音楽を自動選曲して流すネット動画ラジオです。YouTubeのミュージックビデオをLast.fmのように連続再生します。
FmTube
http://fmtube.tisoku.net/?lan=ja
操作は簡単。チャンネルかアーティストを選択するだけです。後は関連するビデオがラジオのように連続して流れます。
アーティストのデータはLast.fmを、ミュージックビデオはYouTubeを利用しているので洋楽(英語)が中心となります。と言うことで、苦手な英語に四苦八苦しながら英語版も作成してみました。日本語版とは微妙に構成を変えています。
主なポイントは以下の通り。
- 操作が簡単で手間がかからない。
- 1アーティストにつき関連性の高い動画が10曲ずつ連続して流れる。曲順については上部の「プレイリスト」で確認可能。
- 関連するアーティストの動画が連続して流れる。
- ジャンルごとに人気の高い100組のアーティストをリストアップ。
- アーティスト検索が可能。検索結果は、関連するアーティスト(最大数50)を含むチャンネルとして自動設定される。
- お気に入りアーティストの登録が可能。
- 動画のサイズを5段階で変更可能。
- シャッフル可能。(標準でシャッフルはオン)
- サイドバーに各種情報を表示可能。「チャンネル」「ビデオの情報」「プレイリスト」「お気に入り」「ヘルプ」。サイドバーを隠すことも可能。
中には関連性の薄い動画などが再生されることもありますが、そんな時は動画をスキップしたり、アーティストを変更したりしてください(画面左下にボタンがあります)。
サイトは主にJavaScriptで構築しました。外部サイトとのデータのやり取りはPHPを絡ませて、JSONPで行なっています。ただ、JSONPのことがよく分かっていないので、タイムアウトした場合の動作が完全ではありません。やはりJSONでAjax通信をした方がいいのでしょうかね。。
今回、JavaScriptのグローバル変数を大量に使用してサイトを構築しました。画面遷移のないAjaxでグローバル変数をうまく利用すると、クッキーの代りになることを学びました(と言っても、クッキーと違ってページを再読込したら消えちゃうけど)。
グローバルな配列にデータを格納してあちこちで再利用するメリットとして、バイト数の制限を気にしなくてもいいことがあります。クッキーだと格納できるバイト数の制限がきついですから。
次はiGoogleへの移植作業です。
EDIUNET | PHP/MySQL | 独り言 | 提供サービス | JavaScript