これは、個人的な使用のみを目的として設計されたプロジェクトです。
JWPlayerをローカルの開発サーバーにインストールしました。これは、私が使用して動作を確認した機能するプレイリストです。
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>oTunes Web App - Playlist</title>
<item>
<title>My Baby Loves Me by Martina McBride on Greatest Hits</title>
<media:content url="07TheGift.mp3" duration="156" />
</item>
</channel>
</rss>
このプレイリストは機能しません:
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>oTunes Web App - Playlist</title>
<item>
<title>My Baby Loves Me by Martina McBride on Greatest Hits</title>
<media:content url="ajax.php?ajax=getMP3Version&track=38809" duration="156" />
</item>
</channel>
</rss>
ajax.php は、MP3 ファイルが Web からアクセスできないディレクトリ (別のドライブ) にあるため、MP3 ファイルの「プロキシ」として機能することを含め、すべての AJAX 要求を処理するために開発されました。ajax.php からの関連するコード スニペットを次に示します。
$initial = $_GET['initial'];
session_start();
echo $tracks->generatePlaylistString($_SESSION['last_results'], $initial);
これは $tracks クラスの関連コードです。
function generatePlaylistString($data, $initial) {
$playlistData = $data;
$firstToPlay = $initial;
$round = 1;
$addToPlaylist = false;
$playlistString = '<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>oTunes Web App - Playlist</title>
';
foreach($playlistData AS $item) {
if ($item['TrackUniqueID'] == $firstToPlay) {
$addToPlaylist = true;
}
if ($addToPlaylist) {
$durationArray = explode(":", $item['TrackTotalDuration']);
$playlistString .= ' <item>
<title>'.$item['TrackTitle'].' by '.$item['TrackArtist'].' on '.$item['TrackAlbum'].'</title>
<media:content url="ajax.php?ajax=getMP3Version&track='.$item['TrackUniqueID'].'" duration="'.(($durationArray[0]*60)+$durationArray[1]).'" />
</item>
';
}
}
$playlistString .= ' </channel>
</rss>';
return $playlistString;
}
プロキシ PHP ファイルへの呼び出しを静的ファイルへの呼び出し (上記を参照) に置き換えたため、プレイリストは正しくフォーマットされ、曲は正しく再生されました。ブラウザで PHP ページに移動すると、ファイルを再生するように求められます (ファイルも正しく再生されます)。私は Firebug を使用して、適切な呼び出しと応答が行われていることを確認しています。ただし、プロキシ PHP ページへの呼び出しをプレイリストに入れると、次のエラーが発生します。
プレイリストを読み込めませんでした: プレイリスト ファイルに有効なプレイリストが含まれていませんでした
すべての MP3 ファイルを Web アクセス可能なディレクトリに移動する以外に、他に何をすべきかわかりません (制御とリソースの理由から、これはやりたくありません)。何か助けはありますか?