2011-03-22 57 views
0

我想創建加載在用戶ID等視頻SWF加載文件從MySQL數據庫

要做到這一點,我使用的PHP目錄中的stred視頻,depenant視頻。但是,我不能再拿到PHP轉換爲XML的動作中:

這裏是PHP代碼:

$query = "SELECT * FROM video_files ORDER BY video_id DESC"; 
$resultID = mysql_query($query) or die("Data not found."); 

$xml_output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; 
$xml_output .= "<PLAYLIST VIDEO_X=\"0\" VIDEO_Y=\"0\" >\n"; 

for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){ 
    $row = mysql_fetch_assoc($resultID); 
    $xml_output .= "<VIDEO TITLE=\"".$row['title']."\" THUMB=\"\" URL=\"".$row['path']."\"/>\n"; 
} 

$xml_output .= "</PLAYLIST>"; 

echo $xml_output; 

這裏是動作:

import fl.video.*; 

var thumb_width:Number; 
var thumb_height:Number; 
var thumbs_x:Number; 
var thumbs_y:Number; 
var video_x:Number; 
var video_y:Number; 
var my_videos:XMLList; 
var my_total:Number; 

var main_container:Sprite; 
var thumbs:Sprite; 
var titles:Sprite; 
var my_player:FLVPlayback; 

var myXMLLoader:URLLoader = new URLLoader(); 
myXMLLoader.load (new URLRequest("playlist.php")); 
myXMLLoader.addEventListener (Event.COMPLETE, processXML); 

function processXML (e:Event):void { 
    var myXML:XML = new XML(e.target.data); 

    thumb_width = [email protected]_WIDTH; 
    thumb_height = [email protected]_HEIGHT; 
    thumbs_x = [email protected]_X; 
    thumbs_y = [email protected]_Y; 
    video_x = [email protected]_X; 
    video_y = [email protected]_Y; 
    my_videos = myXML.VIDEO; 
    my_total = my_videos.length(); 

    makeContainers(); 
    callThumbs(); 
    makePlayer(); 
} 

function makeContainers():void { 
    main_container = new Sprite(); 
    addChild (main_container); 

    thumbs = new Sprite(); 
    thumbs.addEventListener (MouseEvent.CLICK, playVideo); 
    thumbs.addEventListener (MouseEvent.MOUSE_OVER, onOver); 
    thumbs.addEventListener (MouseEvent.MOUSE_OUT, onOut); 
    thumbs.x = thumbs_x; 
    thumbs.y = thumbs_y; 
    thumbs.buttonMode = true; 
    main_container.addChild (thumbs); 

    titles = new Sprite(); 
    titles.x = thumbs_x; 
    titles.y = thumbs_y; 
    main_container.addChild (titles); 
} 

function callThumbs():void { 
    for (var i:Number = 0; i < my_total; i++) { 

     var thumb_url = my_videos[i][email protected]; 
     var thumb_loader = new Loader(); 
     thumb_loader.name = i; 
     thumb_loader.load (new URLRequest(thumb_url)); 
     thumb_loader.contentLoaderInfo.addEventListener (Event.COMPLETE, thumbLoaded); 
     thumb_loader.y = (thumb_height+10)*i; 

     var thumb_title = my_videos[i][email protected]; 
     var title_txt:TextField = new TextField(); 
     title_txt.text = thumb_title; 
     title_txt.y = thumb_loader.y; 
     title_txt.x = thumb_width + 10; 
     title_txt.width = thumb_width; 
     title_txt.height = thumb_height; 
     title_txt.wordWrap = true; 
     titles.addChild (title_txt); 


    } 
} 

function thumbLoaded (e:Event):void { 
    var my_thumb:Loader = Loader(e.target.loader); 
    thumbs.addChild (my_thumb); 
} 

function makePlayer():void { 
    my_player = new FLVPlayback(); 
    my_player.skin ="videos/videoskin.swf"; 
    my_player.skinBackgroundColor = 0xAEBEFB; 
    my_player.skinBackgroundAlpha = 0.9; 

    my_player.x = video_x; 
    my_player.y = video_y; 
    my_player.width = 500; 
    my_player.height = 400; 

    main_container.addChild (my_player); 
    my_player.source = my_videos[0][email protected]; 
} 

function playVideo (e:MouseEvent):void { 
    var video_url = my_videos[e.target.name][email protected]; 
    my_player.source = video_url; 
} 

function onOver (e:MouseEvent):void { 
    var my_thumb:Loader = Loader(e.target); 
    my_thumb.alpha = 0.5; 
} 
function onOut (e:MouseEvent):void { 
    var my_thumb:Loader = Loader (e.target); 
    my_thumb.alpha = 1; 
} 

有誰知道我錯了?它與普通的xml文件一起工作,只是不是php

回答

0

您在PHP中輸出的XML格式是錯誤的。每個標籤都必須關閉。

您有:

<?xml version="1.0" encoding="utf-8"?> 
<PLAYLIST VIDEO_X="0" VIDEO_Y="0"> 
<VIDEO TITLE="videotitle" THUMB="thumbnail" URL="URL" /> 
</PLAYLIST> 

您需要關閉的視頻標籤。所以輸出應該如下所示:

<?xml version="1.0" encoding="utf-8"?> 
<PLAYLIST VIDEO_X="0" VIDEO_Y="0"> 
<VIDEO TITLE="videotitle" THUMB="thumbnail" URL="URL"></VIDEO> 
</PLAYLIST> 

您還應該爲PHP腳本設置內容類型。

header('Content-type: text/xml'); 

我沒有訪問我的筆記本電腦進行徹底測試你的代碼,但是這是從你的代碼乍一看我的答案。