///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();
}
/// <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();
}
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("文件路径",高度,宽度);