<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" name="video" width="320" height="240" id="video" style="position:relative;left:0px;top:0px;width:320px;height:240px;"> <param name="autoStart" value="true" /> <param name="balance" value="0" /> <param name="currentPosition" value="0" /> <param name="currentMarker" value="0" /> <param name="enableContextMenu" value="false" /> <param name="enableErrorDialogs" value="false" /> <param name="enabled" value="true" /> <param name="fullScreen" value="false" /> <param name="invokeURLs" value="false" /> <param name="mute" value="false" /> <param name="playCount" value="1" /> <param name="rate" value="1" /> <param name="uiMode" value="none" /> <param name="volume" value="100" /> </object>
其实,这段代码,大部分还是可以理解的。就是classid那个地方,笔者就是没有办法记下来。就像笔者虽然现在用Flash做网站,也还没记得Flash控件那段代码一样。 笔者是从一个音乐播放器里拷贝出来的,当时隐藏了视频框,不过它隐藏的办法个人感觉也不是很好,就是把width和height设成了0。这里,笔者把它改成320和240就看到视频框了,在DW的设计视图里,是一个ActiveX的图标:

对里头的参数,相信大家看到那些名称,都大概想到是什么意思了吧,比如说,param name="autoStart" value="true" />就是让WMP会自动播放,<param name="enableContextMenu" value="false" />就是屏蔽菜单,等等,倒是有两个,笔者没有看明白,暂时也没有查过相关资料,一个是uiMode,一个是invokeURLs。 另外,WMP控件的实例名为video。
下面就可以写接收setvideo命令后的动作了。
4.1 在HTML文件里,找到place your code here一句,在这里添加代码: switch(command){ case "setvideo": initvideo(args); break; } 同时定义一个initvideo函数: function initvideo(args){ video.URL=args; } 笔者本来的代码其实是没有定义这一函数的,因为就一句话,但是后来功能多了以后,发现还是定义一个比较合适,就写成这样了。 此时保存HTML文件,在浏览器打开,如果文件路径正确无误的话,将会看到有视频播放了。 4.2 但是,加载的时候依然没有任何提示,网速慢的话,浏览者将没有耐心等下去,因此,事件处理函数成为当务之急。 定义video_evtPSChg函数: function video_evtPSChg(f){ // 以下是状态值 (f) 的说明: // 0(未定义) 1(已停止播放) 2(已暂停播放) 3(正在播放中) 4(向前搜索) 5(向后搜索) // 6(缓冲处理中) 7(等待中) 8(已播放完毕) 9(转换曲目中) 10(就绪状态) switch(f){ case 1: video_evtStop(); break; case 2: video_evtPause(); break; case 6: video_evtBuffer(); break; |