Hema

Hema

  • 1.6k
  • 160
  • 3.7k

how to build custom web video player tool for diff format

Mar 2 2015 12:28 AM

#region Properties
[Category("File URL")]
[Browsable(true)]
[Description("Set path to source file.")]
[Editor(typeof(System.Web.UI.Design.UrlEditor),
typeof(System.Drawing.Design.UITypeEditor))]
public string FilePath
{
get
{
return mFilePath;
}

set

{

if (value == string.Empty)

{

mFilePath = string.Empty;

}

else

{

int tilde = -1;

tilde = value.IndexOf('~');

if (tilde != -1)

{

mFilePath = value.Substring((tilde + 2)).Trim();

}

else

{

mFilePath = value;

}

}

}

} // end FilePath property

[Category("Media Player")]

[Browsable(true)]

[Description("Show or hide the tracker.")]

public bool ShowTracker

{

get

{

return mShowTracker;

}

set

{

mShowTracker = value;

}

}

[Category("Media Player")]

[Browsable(true)]

[Description("Show or hide the position controls.")]

public bool ShowPositionControls

{

get

{

return mShowPositionControls;

}

set

{

mShowPositionControls = value;

}

}

[Category("Media Player")]

[Browsable(true)]

[Description("Show or hide the controls.")]

public bool ShowControls

{

get

{

return mShowControls;

}

set

{

mShowControls = value;

}

}

[Category("Media Player")]

[Browsable(true)]

[Description("Show or hide the status bar.")]

public bool ShowStatusBar

{

get

{

return mShowStatusBar;

}

set

{

mShowStatusBar = value;

}

}

#endregion

The last region of code contained in the custom control is that used to actually render the control:

#region "Rendering"
protected override void RenderContents(HtmlTextWriter writer)
{
try
{
StringBuilder sb = new StringBuilder();
sb.Append("<object classid=clsid:22D6F312-B0F6-11D0-94AB-
0080C74C7E95 ");
sb.Append("codebase=http://activex.microsoft.com/activex/
controls/mplayer/en/nsmp2inf.cab#Version=
5,1,52,701 Width = " + Width.Value.ToString() + " Height = "
+ Height.Value.ToString() + "type=application/x-oleobject
align=absmiddle");
sb.Append("standby='Loading Microsoft+reg; Windows+reg; Media
Player components...' id=mp1 /> ");
sb.Append("<param name=FileName value=" + FilePath.ToString()
+ "> ");
sb.Append("<param name=ShowStatusBar value=" +
ShowStatusBar.ToString() + "> ");
sb.Append("<param name=ShowPositionControls value=" +
ShowPositionControls.ToString() + "> ");
sb.Append("<param name=ShowTracker value=" +
ShowTracker.ToString() + "> ");
sb.Append("<param name=ShowControls value=" +
ShowControls.ToString() + "> ");
sb.Append("<embed src=" + FilePath.ToString() + " ");
sb.Append("pluginspage=http://www.microsoft.com/
Windows/MediaPlayer type=application/x-mplayer2 ");
sb.Append("Width = " + Width.Value.ToString() + " ");
sb.Append("Height = " + Height.Value.ToString());
sb.Append(" /></embed></object>");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.Write(sb.ToString());
writer.RenderEndTag();
}

catch

{

// with no properties set, this will render "Display PDF

// Control" in a

// a box on the page

writer.RenderBeginTag(HtmlTextWriterTag.Div);

writer.Write("Display WVC Control");

writer.RenderEndTag();

} // end try-catch

} // end RenderContents

#endregion