由于在项目中,涉及到对C#中WebBrowser控件的应用,要求是在WebBrowser中嵌入一个带有视频的HTML网页。WebBrowser在C#中默认的是IE浏览器,且版本比较低,因此要对该控件进行加载HTML网页,需要在IE较低版本下进行操作。本次主要是描述HTML中VLC视频播放器如何实现的,以及对VLC播放器实现屏幕放大,视频播放,视频暂停,音量控制,截图功能(实现过程比较复杂,此处没有给出,后序博客会给出截图实现过程);同时,也会给出WebBrowser如何加载HTML文件。完整的代码链接:http://download.csdn.net/detail/qq_30507287/9557230
首先是布局HTML页面:布局样式如下所示(我的布局比较简单):
然后是在对应的区域“menuleft"中嵌入VLC播放器,要适合IE的播放器。其代码如下:
<object center="center" width="100%" height="100%" id='vlc1_IE' events="True" codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921">
<param name="ShowDisplay" value="True" />
<param name="AutoPlay" value="false" />
</object>
接下来是在播放列表中添加要播放的视频源,主要代码是:
var vlc=document.getElementById("vlc1_IE");
var id=vlc.playlist.add("视频源");
vlc.playlist.playItem(id);
vlc.playlist.stop();
控制视频”播放“和”暂停“的主要方法是onPause()和onPlay()。
控制视频的放大功能是将视频分为四部分,当点击”LT“按钮时,放大的是左上角的部分,调用的方法是ScreenLeftTop()。同理还有ScreenRightTop()、ScreenLeftBottom()、ScreenRightBottom()方法。它们的实现如下:
function ScreenLeftTop()
{
var cropval = vlc.video.width/2 + "x" + vlc.video.height/2 + "+0+0" ;
vlc.video.crop = cropval;
}
function ScreenRightTop()
{
var cropval = vlc.video.width + "x" + vlc.video.height/2 + "+" + vlc.video.width/2 +"+0" ;
vlc.video.crop = cropval;
}
function ScreenLeftBottom()
{
var cropval= vlc.video.width/2 + "x" + vlc.video.height + "+0+" + vlc.video.height/2 ;
vlc.video.crop = cropval;
}
function ScreenRightBottom()
{
var cropval= vlc.video.width + "x" + vlc.video.height + "+" + vlc.video.width/2 + "+" + vlc.video.height/2 ;
vlc.video.crop = cropval;
}
这样就完成了,文章开的基本要求。完整的代码链接:http://download.csdn.net/detail/qq_30507287/9557230
下面是实现C#中的WebBrowser如何读取”XXX.html"文件,首先在类的外部添加下面一句话
//将该类设置为COM可访问
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
然后再,初始化窗体之后添加如下代码。
//要添加的网页对象
System.IO.FileInfo file = new System.IO.FileInfo("XXX.html");
this.webBrowser1.Url = new Uri(file.FullName);
this.webBrowser1.ObjectForScripting = this;