JWPlayer和通过PHP代理MP3文件

JWPlayer和通过PHP代理MP3文件,php,proxy,rss,jwplayer,playlist,Php,Proxy,Rss,Jwplayer,Playlist,这是专为个人使用而设计的项目 我安装到我的本地开发服务器上。这是我使用并验证过的一个正常播放列表: <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> <channel> <title>oTunes Web App - Playlist</title> <item> <title>My

这是专为个人使用而设计的项目

我安装到我的本地开发服务器上。这是我使用并验证过的一个正常播放列表:

<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>
这是$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;
        }
函数generatePlaylistString($data,$initial){
$playlata=$data;
$firstToPlay=$initial;
$round=1;
$addToPlaylist=false;
$playlisting='1!'
oTunes Web应用程序-播放列表
';
foreach($数据作为$项){
如果($item['TrackUniqueID']==$firstToPlay){
$addToPlaylist=true;
}
如果($addToPlaylist){
$durationArray=explode(“:”,$item['TrackTotalDuration']);
$playlisting.='
“.$item['TrackTitle']”由“.$item['TrackArtister']”在“.$item['TrackAlbum']”上的“.$item['TrackTitle']”创建。”
';
}
}
$playlisting.='
';
返回$playlisting字符串;
}
播放列表格式正确,因为我将对代理PHP文件的调用替换为对静态文件的调用(见上文),歌曲播放正确。我进入浏览器中的PHP页面,系统会提示我播放该文件(它也能正确播放)。我使用Firebug来确认正在进行正确的呼叫和响应,并且它们都是正确的。但是,当我将对代理PHP页面的调用放入播放列表时,出现以下错误:

无法加载播放列表:播放列表文件不包含有效的 播放列表

我不知道除了将所有MP3文件移动到一个web可访问目录(出于控制和资源原因,我不想这样做)之外,还能做什么。有什么帮助吗?

更改:

<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>

oTunes Web应用程序-播放列表
《我的宝贝爱我》由马蒂娜·麦克布莱德主演,最受欢迎
致:


oTunes Web应用程序-播放列表
《我的宝贝爱我》由马蒂娜·麦克布莱德主演,最受欢迎
声音

这应该是可行的。

此外,当使用代理PHP页面时,Firebug确实会显示对MP3文件的请求,并且请求的文件大小与MP3文件的文件大小相同。
        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;
        }
<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>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats">
    <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" />
            <jwplayer:provider>sound</jwplayer:provider>
        </item>
    </channel>
</rss>