ここに私がやっていることがあります:
「dl」フォルダには、さまざまな mp3 音楽アルバム アーカイブが zip 形式で含まれています。この例では、「some_album.zip」というアーカイブがあり、zip ファイル内に「some_song.mp3」というファイルがあるとします。
「playlist.php」は、zip アーカイブ内の mp3 ファイルのリストを取得し、フラッシュ mp3 プレーヤーでプレイリストとして使用する XML ファイルを作成します。xml ファイルの各 mp3 エントリに対して、次のようなファイル名の値を返します。
<location>mp3.php?file=some_album.zip#some_song.mp3</location>
「mp3.php」は、*zip://some_album.zip#some_song.mp3* を使用して zip アーカイブ内のファイルを (解凍せずに) 読み取り、コンテンツを mp3 ヘッダー付きで出力します。したがって、*mp3.php?file=some_album.zip#some_song.mp3* に移動すると、実際のファイルのように mp3 ファイルがストリーミングされます。
player.htmlは、"playlist.php" XML ファイルを使用してアルバムをストリーミングする単なるフラッシュ mp3 プレーヤーです。
問題は、何を試しても、フラッシュ プレーヤーが最初の 2 曲しか再生しないことです。サーバーは同時に 2 つを超えるファイル、または最大 X メガバイトを開くことができないようです。
XMLプレイリスト内のすべてのmp3ファイル名が正しいことを3回確認しました。ブラウザでmp3 URLを手動で起動すると、完全に機能します。mp3 プレーヤーは、ファイル名が適切であることを確認する mp3 の長さも検出します。
また、3 つの異なる mp3 プレーヤーで試しましたが、すべて同じ問題があります。最初の 2 曲しか再生できません。私の質問は、専用サーバーの設定で、zipアーカイブ内で同時に2つ以上のファイルを読み取れないようにすることでしょうか?
フラッシュ プレーヤーの例: http://www.pirate-punk.com/player/test.html
この XML 再生リスト (zip アーカイブのコンテンツを含む php から生成) を使用: http://www.pirate-punk.com/ODYgQ3JldyAtIDIwMDAgLSBCYWQgQmFkIFJlZ2dhZS56aXA=.xml