ASP.NET如何用Flash媒体组件播放视频,就像优酷那样的?

解决方案 »

  1.   


    ///C#中的媒体播放类    
       using    System;    
       namespace    ConfigTools    
       {    
       ///    <summary>    
       ///    PlayClass    的摘要说明。    
       ///原作CSDN,经本人稍加修改    
       ///    </summary>    
       public    class    PlayClass    
       {    
       public    PlayClass()    
       {    
           //    
           //    TOD    在此处添加构造函数逻辑    
           //    
       }    
       public    string    Play(string    url,int    width,int    height)    
       {    
           string    strTmp    =    url.ToLower();    
           if(strTmp.EndsWith(".wmv")||strTmp.EndsWith(".mp3")||strTmp.EndsWith(".wma")||strTmp.EndsWith(".avi")||strTmp.EndsWith(".asf")||strTmp.EndsWith(".mpg"))    
           {    
           return    wmv(url,width,    height);    
           }    
           else    if(strTmp.EndsWith(".mp3"))    
           {    
           return    mp3(url,width,height);    
           }    
           else    if(strTmp.EndsWith(".swf"))    
           {    
           return    swf(url,width,    height);    
           }    
           else    if(strTmp.EndsWith(".jpg")||strTmp.EndsWith(".gif"))    
           {    
           return    img(url,width,    height);    
           }      
           else    if(strTmp.EndsWith(".rm"))    
           {    
           return    rm(url,width,    height);    
           }    
         
           else    
           {    
           return    "数据错误";    
           }          
       }    
         
         
       ///    <summary>    
       ///    wmv格式文件播放    
       ///    </summary>    
       ///    <param    name="url"></param>    
       ///    <returns></returns>    
         
       private    string    wmv(string    url,    int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();          
         
           sb.Append("<object    id=\"WMPlay\"    style=\"WIDTH:    "+width+"px;height:"+height+"px\"    \n");    
           sb.Append("classid=\"CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6\"    type=application/x-oleobject    standby=\"Loading    Windows    Media    Player    components...\"");    
           sb.Append("codebase=\"downloads/mediaplayer9.0_cn.exe\"    VIEWASTEXT>\n");    
           sb.Append("<param    name=\"URL\"    value='"+url+"'>\n");    
           sb.Append("<param    name=\"controls\"    value=\"ControlPanel,StatusBa\">");    
           //<PARAM    NAME="CONTROLS"    VALUE="ControlPanel,StatusBar">    
           sb.Append("<param    name=\"hidden\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowControls\"    VALUE=\"0\">");    
           sb.Append("<param    name=\"rate\"    value=\"1\">\n");    
           sb.Append("<param    name=\"balance\"    value=\"0\">\n");    
           sb.Append("<param    name=\"currentPosition\"    value=\"-1\">\n");    
           sb.Append("<param    name=\"defaultFrame\"    value=\"\">\n");    
           sb.Append("<param    name=\"playCount\"    value=\"100\">\n");    
           sb.Append("<param    name=\"autoStart\"    value=\"-1\">\n");    
           sb.Append("<param    name=\"currentMarker\"    value=\"0\">\n");    
           sb.Append("<param    name=\"invokeURLs\"    value=\"-1\">\n");    
           sb.Append("<param    name=\"baseURL\"    value=\"\">\n");    
           sb.Append("<param    name=\"volume\"    value=\"85\">\n");    
           sb.Append("<param    name=\"mute\"    value=\"0\">\n");    
           sb.Append("<param    name=\"uiMode\"    value=\"mini\">\n");    
           sb.Append("<param    name=\"stretchToFit\"    value=\"0\">\n");    
           sb.Append("<param    name=\"windowlessVideo\"    value=\"0\">\n");    
           sb.Append("<param    name=\"enabled\"    value=\"-1\">\n");    
           sb.Append("<param    name=\"enableContextMenu\"    value=\"false\">\n");    
           sb.Append("<param    name=\"fullScreen\"    value=\"0\">\n");    
           sb.Append("<param    name=\"SAMIStyle\"    value=\"\">\n");    
           sb.Append("<param    name=\"SAMILang\"    value=\"\">\n");    
           sb.Append("<param    name=\"SAMIFilename\"    value=\"\">\n");    
           sb.Append("<param    name=\"captioningID\"    value=\"\">\n");    
         
             
           sb.Append("</object><br>\n");    
         
           return    sb.ToString();    
       }    
         
       private    string    wma(string    url,int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
             
           sb.Append("<object    id=\"WMPlay\"    classid=\"clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95\"    style=\"Z-INDEX:    101;    LEFT:    40px;    WIDTH:    240px;    POSITION:    absolute;    TOP:    32px;    HEIGHT:    248px\"    >");      
           sb.Append("<param    name=\"Filename\"    value=\""+url+"\">");    
           sb.Append("<param    name=\"PlayCount\"    value=\"1\">");    
           sb.Append("<param    name=\"AutoStart\"    value=\"0\">");    
           sb.Append("<param    name=\"ClickToPlay\"    value=\"1\">");    
           //sb.Append("<param    name=\"DisplaySize\"    value=\"0\">");    
           sb.Append("<param    name=\"EnableFullScreen    Controls\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowAudio    Controls\"    value=\"1\">");    
           sb.Append("<param    name=\"EnableContext    Menu\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowDisplay\"    value=\"1\">");    
             
           sb.Append("</object>");    
         
           return    sb.ToString();    
         
       }    
      

  2.   

    ///    <summary>    
       ///    avi格式文件播放    
       ///    </summary>    
       ///    <param    name="url"></param>    
       ///    <returns></returns>    
       private    string    avi(string    url,int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
             
           sb.Append("<object    id=\"WMPlay\"    width=\"400\"    height=\"200\"    border=\"0\"    classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\">");    
           sb.Append("<param    name=\"ShowDisplay\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowControls\"    value=\"1\">");    
           sb.Append("<param    name=\"AutoStart\"    value=\"1\">");    
           sb.Append("<param    name=\"AutoRewind\"    value=\"0\">");    
           sb.Append("<param    name=\"PlayCount\"    value=\"0\">");    
           sb.Append("<param    name=\"Appearance    value=\"0    value=\"\"\">");    
           sb.Append("<param    name=\"BorderStyle    value=\"0    value=\"\"\">");    
           sb.Append("<param    name=\"MovieWindowHeight\"    value=\"240\">");    
           sb.Append("<param    name=\"MovieWindowWidth\"    value=\"320\">");    
           sb.Append("<param    name=\"FileName\"    value=\""+url+"\">");    
           sb.Append("</object>");    
         
           return    sb.ToString();    
       }    
         
       private    string    mpg(string    url,int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
         
           sb.Append("<object    classid=\"clsid:05589FA1-C356-11CE-BF01-00AA0055595A\"    id=\"WMPlay\"    width=\"239\"    height=\"250\">");    
           sb.Append("<param    name=\"Filename\"    value=\""+url+"\"    valuetype=\"ref\">");    
           sb.Append("<param    name=\"Appearance\"    value=\"0\">");    
           sb.Append("<param    name=\"AutoStart\"    value=\"-1\">");    
           sb.Append("<param    name=\"AllowChangeDisplayMode\"    value=\"-1\">");    
           sb.Append("<param    name=\"AllowHideDisplay\"    value=\"0\">");    
           sb.Append("<param    name=\"AllowHideControls\"    value=\"-1\">");    
           sb.Append("<param    name=\"AutoRewind\"    value=\"-1\">");    
           sb.Append("<param    name=\"Balance\"    value=\"0\">");    
           sb.Append("<param    name=\"CurrentPosition\"    value=\"0\">");    
           sb.Append("<param    name=\"DisplayBackColor\"    value=\"0\">");    
           sb.Append("<param    name=\"DisplayForeColor\"    value=\"16777215\">");    
           sb.Append("<param    name=\"DisplayMode\"    value=\"0\">");    
           sb.Append("<param    name=\"Enabled\"    value=\"-1\">");    
           sb.Append("<param    name=\"EnableContextMenu\"    value=\"-1\">");    
           sb.Append("<param    name=\"EnablePositionControls\"    value=\"-1\">");    
           sb.Append("<param    name=\"EnableSelectionControls\"    value=\"0\">");    
           sb.Append("<param    name=\"EnableTracker\"    value=\"-1\">");    
             
           sb.Append("<param    name=\"FullScreenMode\"    value=\"0\">");    
           sb.Append("<param    name=\"MovieWindowSize\"    value=\"0\">");    
           sb.Append("<param    name=\"PlayCount\"    value=\"1\">");    
           sb.Append("<param    name=\"Rate\"    value=\"1\">");    
           sb.Append("<param    name=\"SelectionStart\"    value=\"-1\">");    
           sb.Append("<param    name=\"SelectionEnd\"    value=\"-1\">");    
           sb.Append("<param    name=\"ShowControls\"    value=\"-1\">");    
           sb.Append("<param    name=\"ShowDisplay\"    value=\"-1\">");    
           sb.Append("<param    name=\"ShowPositionControls\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowTracker\"    value=\"-1\">");    
           sb.Append("<param    name=\"Volume\"    value=\"-480\">");    
           sb.Append("</object>");    
         
           return    sb.ToString();    
       }    
         
       private    string    rm(string    url,    int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
           sb.Append("<OBJECT    ID=\"WMPlay\"    codebase=\"downloads/RealPlayer10-5GOLD_cn0302.exe\"    CLASSID=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\"    HEIGHT="+height+"    WIDTH="+width+">");    
           sb.Append("<param    name=\"SRC\"    value=\""+url+"\">");    
           //sb.Append("<param    name=\"_ExtentX\"    value=\"9313\">");    
           //sb.Append("<param    name=\"_ExtentY\"    value=\"7620\">");    
           sb.Append("<param    name=\"AUTOSTART\"    value=\"0\">");    
           sb.Append("<param    name=\"SHUFFLE\"    value=\"0\">");    
           sb.Append("<param    name=\"PREFETCH\"    value=\"0\">");    
           sb.Append("<param    name=\"NOLABELS\"    value=\"0\">");          
           sb.Append("<param    name=\"CONTROLS\"    value=\"ImageWindow,ControlPanel,statusbar\">");    
           sb.Append("<param    name=\"CONSOLE\"    value=\"Clip1\">");    
           sb.Append("<param    name=\"LOOP\"    value=\"0\">");    
           sb.Append("<param    name=\"NUMLOOP\"    value=\"0\">");    
           sb.Append("<param    name=\"CENTER\"    value=\"0\">");    
           sb.Append("<param    name=\"MAINTAINASPECT\"    value=\"0\">");    
           sb.Append("<param    name=\"BACKGROUNDCOLOR\"    value=\"#000000\">");    
           //sb.Append("<embed    SRC    type=\"audio/x-pn-realaudio-plugin\"    CONSOLE=\"Clip1\"    CONTROLS=\"ImageWindow\"    HEIGHT=\"250\"    WIDTH=\"354\"    AUTOSTART=\"false\">");    
           sb.Append("</OBJECT>");    
         
           return    sb.ToString();    
       }    
         
       private    string    swf(string    url,    int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
                         
         
           sb.Append("<OBJECT    codeBase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\"    ");    
           sb.Append("    height=\""+height+"\"    width=\""+width+"\"    >");    
           sb.Append("<PARAM    NAME=\"FlashVars\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"Movie\"    VALUE=\""+url+"\">");    
           sb.Append("<PARAM    NAME=\"Src\"    VALUE=\""+url+"\">");    
           sb.Append("<PARAM    NAME=\"WMode\"    VALUE=\"Window\">");    
           sb.Append("<PARAM    NAME=\"Play\"    VALUE=\"-1\">");    
           sb.Append("<PARAM    NAME=\"Loop\"    VALUE=\"-1\">");    
           sb.Append("<PARAM    NAME=\"Quality\"    VALUE=\"High\">");    
           sb.Append("<PARAM    NAME=\"SAlign\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"Menu\"    VALUE=\"0\">");    
           sb.Append("<PARAM    NAME=\"Base\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"AllowScriptAccess\"    VALUE=\"always\">");    
           sb.Append("<PARAM    NAME=\"Scale\"    VALUE=\"ShowAll\">");    
           sb.Append("<PARAM    NAME=\"DeviceFont\"    VALUE=\"0\">");    
           sb.Append("<PARAM    NAME=\"EmbedMovie\"    VALUE=\"0\">");    
           sb.Append("<PARAM    NAME=\"BGColor\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"SWRemote\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"MovieData\"    VALUE=\"\">");    
           sb.Append("<PARAM    NAME=\"SeamlessTabbing\"    VALUE=\"1\">");    
           sb.Append("<embed    src=\""+url+"\"    height=\""+height+"\"    width=\""+width+"\"    quality=\"high\"    pluginspage=\"http://www.macromedia.com/go/getflashplayer\"type=\"application/x-shockwave-flash\"    menu=\"false\">");    sb.Append("</embed>");    
           sb.Append("</OBJECT>");    
         
           return    sb.ToString();    
       }    
        
     
       
      

  3.   

      private    string    mp3(string    url,int    width,int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
           sb.Append("<object    classid=\"WMPlay\"    codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715\"    type=\"application/x-oleobject\"    width=\"    +    width    +    \"    height=\"    +    height    +    \"    hspace=\"0\"    standby=\"Loading    Microsoft    Windows    Media    Player    components...\"    id=\"NSPlay\">");    
             
           sb.Append("<param    name=\"AutoRewind\"    value=\"0\">");    
           sb.Append("<param    name=\"FileName\"    value=\"    +    url    +    \">");    
           sb.Append("<param    name=\"ShowControls\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowPositionControls\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowAudioControls\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowTracker\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowDisplay\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowStatusBar\"    value=\"1\">");    
           sb.Append("<param    name=\"ShowGotoBar\"    value=\"0\">");    
           sb.Append("<param    name=\"ShowCaptioning\"    value=\"0\">");    
           sb.Append("<param    name=\"AutoStart\"    value=\"1\">");    
           sb.Append("<param    name=\"Volume\"    value=\"-2500\">");    
           sb.Append("<param    name=\"AnimationAtStart\"    value=\"0\">");    
           sb.Append("<param    name=\"TransparentAtStart\"    value=\"0\">");    
           sb.Append("<param    name=\"AllowChangeDisplaySize\"    value=\"0\">");    
           sb.Append("<param    name=\"AllowScan\"    value=\"0\">");    
           sb.Append("<param    name=\"EnableContextMenu\"    value=\"0\">");    
           sb.Append("<param    name=\"ClickToPlay\"    value=\"0\">");    
         
           sb.Append("</object>");    
           return    sb.ToString();    
         
       }    
         
       private    string    img(string    url,    int    width,    int    height)    
       {    
           System.Text.StringBuilder    sb    =    new    System.Text.StringBuilder();    
         
           sb.Append("<img    src=\""+url+"\"    height=\""+height+"\"    width=\""+width+"\"    border=\"0\">");    
           return    sb.ToString();    
       }    
       }    
         
         
       }   
    用法:   
        
       ConfigTools.PlayClass    pc=new    ConfigTools.PlayClass();    
         
       Label1.Text=pc.Play("文件路径",高度,宽度);   
      

  4.   

    跟语言没有关系,都是用<object方式进行调用,跟在javascript 中写法类似,注意转义就行
      

  5.   

    我想做像优酷土豆那样实现把flash播放路径隐藏起来,怎么做