Now Playing

2005年11月19日改訂

前々からしたかった「Now Playing」。
コレってナニかというと、今(というか最近)コンピューターで再生中の音楽をblogに表示するというもの。
「自己主張が激しい」等というコメントも数多くみられる「Now Playing」ですが、それはそれ。まぁいいじゃないですか。(笑)

Windows・iTunes・サイトのエンコードがUTF-8ということで、長らく悩んでおりましたが、このたびめでたく解決したので、ココに方法をメモ書き。

ここではiTunes(Win用)を説明しますが、Mac用でもしなければならないことはほぼ同じです。
ちなみに他のPlayer用プラグインもあります。
後はサーバー側でphpが使える環境であることが必要です。(ちなみにこのblogはロリポですが、ノープロブレム!)

まず、用意するもの。

言わずと知れたPlayer. “iTunes“.
アップル – iLife – iTunes – ダウンロード
次に、iTunes用Plug-in. “Audioscrobbler“.
Audioscrobbler :: Downloads

次は、Audioscrobblerにサインアップ(無料登録)してください。

Audioscrobbler :: Singup

先ほどダウンロードしたiTunes(Win用)Plug-in”iScrobblerWin_0_0_4.exe”(04/08/09現在)をダブルクリックし、インストールします。
サインアップした”Account”と”Password”を入力し、使用可能にします。

後は下のサイトを参考に、インクルードするためのphpファイルを用意します。

AudioscrobblerWiki – Web&RSS_Data

を参照。(上記リンク先が消失につき、スクリプトの自サイト公開を行ないます。)

<?php

// Define the URL/path to user’s Audioscrobbler XML/RDF feed

define(‘AUDIOSCROBBLER_RDF’,
‘http://ws.audioscrobbler.com/1.0/user/junichi_y/recenttracks.rss’);

// Try to open Audioscrobbler feed

if (!($fp = fopen(AUDIOSCROBBLER_RDF, “r”)))
{ die(“could not open Audioscrobbler feed”); }

while ($data = fread($fp, 4096)) { $rdf_content .= $data; }

fclose($fp);

// Begin parsing through

preg_match_all(“‘<title>(.*?)</title>’si”, $rdf_content, $songs); $songs = $songs[1];

preg_match_all(“‘<link>(.*?)</link>’si”, $rdf_content, $links); $links = $links[1];

// Print out last 10 songs

for ($i = 1; $i < count($songs); $i++) {

list($artist, $title) = explode(‘ – ‘, $songs[$i]);

echo “<a alt=\”$links[$i]\” xhref=\”$links[$i]\” target=\”_blank\”>$songs[$i]</a><br />\n”;

}

?>

までをファイルとして保存するのですが、このテキスト中”http://ws.audioscrobbler.com/1.0/user/username/recenttracks.rss”の部分、usernameには、取得済みのAccountを入力し、”audioscrobbler.php”としてサイトにアップロード。
Templateの編集を行い、indexの好きなところに

<?php include(‘audioscrobbler.php’); ?>
追記:04/11/29MT使いの方は、テンプレート中に、
<? include”audioscrobbler.php”;?>

と記述しインクルード。

いやあ、簡単。
曲の日本語タグも通るし、すばらしいです。
少し「Now Playing」ではなくタイムラグがあるような気はしてしょうがないのですが、見逃しましょう。(笑)
今度時間のあるときに、曲のタイトルだけでなく、アーティストも表示されるように何とか頑張ってみよう。
phpの知識がないんだけれど。(笑)

ちなみにワタシのプレイリストはこちら。
Audioscrobbler :: User :: Junichi_y

更新 2005年11月19日
リンク先が消失につき、スクリプトの自サイト公開を行ないます。
Last.fmのRSS出力に際し、XMLの名前空間が変更となっておりましたので、それに併せて変更致しました。

タグ: , ,
Posted 2004年8月9日 21時07分58秒 in php by junichi_y Comments (19)

Get Adobe Flash player