快播5控件(QvodInsert)网页和二次开发使用说明

作者: admin 分类: C++ 发布时间: 2013-09-05 13:39 ė4,683 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

一、最新修改
1、QvodPlayer插件增加对Mozilla内核的浏览器支持,如火狐浏览器和谷歌浏览器。
2、增加了一些Web初始化的参数
7) Mute: 设置静音
8) Volume: 设置音量
9) SoundTrack:设置播放文件声道
10) EnableTextAd:设置文字链开关
11) QvodTextAdUrl:设置文字链广告地址
12) SkipBegin: 设置片头长度
13) SkipEnd:设置片尾长度

3、去掉了一些属性和方法
18) 设置播放亮度对比度 AdjustVideo
21) 设置控件所属的父窗口 put_ParentWnd

4、增加了一些属性和方法
25) 设置文字链广告地址 QvodTextAdUrl
26) 设置文字链开关 EnableTextAd
27) 获取插件版本号 Version
28) 获取缓冲进度 BufferPercent
29) 获取影片是否支持设置播放位置 Canseek

二、快播插件介绍
快播(QvodPlayer) 是一款基于准视频点播 (QVOD) 内核的、多功能、个性化的媒体播放器。QvodPlayer 集成了全新播放引擎,不但支持自主研发的准视频点播技术;而且还是免费的 BT 点播软件,用户只需通过几分钟的缓冲即可边下载边观看丰富的 BT 影视节目。QvodPlayer 具有的资源占用低、操作简捷、运行效率高,扩展能力强等特点,使其成为目前国内最受欢迎的 P2P 播放软件。QvodPlayer控件可以嵌入到网页中或者支持COM组件的开发程序中。QvodPlayer让你的视频播放随心随意。

三、使用平台:
播放器使用COM组件开发技术,能在用户客户端浏览器或者支持COM组件的开发程序中使用。

四、使用方法:
1、在你的网页适当位置(即想让用户观看视频的位置)插入如下代码:
<object classid=”clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF” width=”500″ height=”400″ id=”QvodPlayer” name=”QvodPlayer”>
内容解释

  • object
    HTML语言中对COM插件的统一使用方式。
  • classid
    HTML语言中对WEB插件的调用语句。
  • clsid: F3D0D36F-23F8-4682-A195-74C92B03D4AF
    QvodPlayer插件类型ID值。
  • width/height
    在网页中显示的该插件宽与高度。
  • id/name
    是要控制该QvodPlayer插件的名字。QvodPlayer可以更改成你喜欢并且容易记住的名字。

2、QvodPlayer插件最简使用方法:
在你的网页适当位置源代码中插入如下代码,当用户打开该网页时,即可完成影片文件的播放功能:
<object classid=”clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF” width=”500″ height=”400″ id=”QvodPlayer” name=”QvodPlayer” onError=if(window.confirm(‘请您先安装QvodPlayer软件,然后刷新本页才可以正常播放.’)){window.open(‘http://www.qvod.com/download.htm’)}else{self.location=’http://www.qvod.com/’}>
< PARAM NAME=’URL’ VALUE=’此处请替换成QVOD播放链接地址’>
< PARAM NAME=’Autoplay’ VALUE=’1′>
<embed URL=’此处请替换成QVOD播放链接地址’ type=’application/qvod-plugin’>
</embed>
</object>

3、如何兼容谷歌等非IE浏览器(支持快播4.2及以上版本)
1)添加embed标签
网站对谷歌浏览器支持,必须在原来的object标签中添加embed标签,例如下面红色部分:
<object classid=’clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF’ id=’QvodPlayer’ width=’600′ height=’480′>
< PARAM NAME=’URL’ VALUE=’qvod://167960408|8F81A848CBEB17F4D4850A13DC781FC803181594|鹿鼎记(陈小春版)-01.rmvb|’>
< PARAM NAME=’Showcontrol’ VALUE=’1′>
< PARAM NAME=’AutoPlay’ VALUE=’1′>
< embed URL=’qvod://167960408|8F81A848CBEB17F4D4850A13DC781FC803181594|鹿鼎记(陈小春版)-01.rmvb|’ type=’application/qvod-plugin’ Showcontrol=’1′ AutoPlay=’1′>
</embed>

</object>

embed标签不仅支持URL参数,也同样支持object标签支持的Autoplay,Mute,
Showcontrol,Volume,NumLoop,SoundTrack,NextWebPage,QvodAdUrl。
在object中初始化的参数,必须在embed中传入才能起效。
不同浏览器对object及embed支持情况如下:

object embed
IE内核 优先支持 支持
Mozilla内核 不支持 支持

不同版本插件对IE内核及Mozilla内核的支持情况如下:

IE内核 Mozilla内核
3.5 支持 不支持
5.0 支持 支持

2)避免汉字乱码
如果你的动态页面是通过网页URL传入qvod协议地址的要注意了,由于这类浏览器默认对url的参数进行GB2312编码,而插件只能识别utf-8码,这样就会导致创建的网络任务出现汉字乱码。
避免方法有两种:
1.不通过网页URL方式传入qvod协议地址;
2.对qvod协议地址进行utf-8转码后带入URL的参数中。
任选一种方式即可。

五、QvodPlayer接口使用方法

1、Web页面中的初始化参数: 

1) URL:播放文件地址
< PARAM NAME=’URL’ VALUE=’URL值’>
URL值格式:qvod://文件大小|文件hash值|文件名|
举例:
< PARAM NAME=’URL’ VALUE=’qvod://145485901|E4284D21B54DCB7181EA853B88746D693ACEA079|美丽的选择-第三部-05.rmvb|’>

2) AutoPlay:是否自动播放
< PARAM NAME=’AutoPlay’  VALUE=’0或1′>
0=不自动播放  1=自动播放。默认是不自动播放。
举例:
< PARAM NAME=’AutoPlay’  VALUE=’1′>

3) Showcontrol:是否显示控制栏
< PARAM NAME=’Showcontrol’  VALUE=’0或1′>
0=不显示  1=显示。默认参数是显示
举例:
< PARAM NAME=’Showcontrol’  VALUE=’1′>

4) NextWebPage: 播放完当前节目后自动导航到下一集的网页地址
< PARAM NAME=’NextWebPage’  VALUE=’http://格式的URL’>
网页地址以http://开头,默认为空即不导航。
举例:
< PARAM NAME=’NextWebPage’ VALUE=’http://tv.sohu.com/20111028/n323762204.shtml’>

5) NumLoop:是否循环播放当前节目
< PARAM NAME=’NumLoop’  VALUE=’数字’>
0 为不循环,大于0为循环次数,递减到0后即停止循环,-1为一直循环。默认为0。
举例(循环一次):
< PARAM NAME=’NumLoop’  VALUE=’1′>

6) QvodAdUrl: 播放前缓冲广告页面地址
< PARAM NAME=’QvodAdUrl’  VALUE=’http://格式的链接’>
在缓冲影片(URL参数(qvod://格式的链接)指定)时,先加载此链接对应的页面到插件位置显示
举例:
< PARAM NAME=’QvodAdUrl’ VALUE=’http://buffer-ad.qvod.com/index_bak.asp’>

7) Mute: 设置静音
< PARAM NAME=’Mute’  VALUE=’0或1′>
1=静音,0=取消静音
举例(设置静音):
< PARAM NAME=’Mute’ VALUE=’1′>

8) Volume: 设置音量
< PARAM NAME=’Volume’  VALUE=’数字’>
值范围为0-100
举例(设置音量为50):
< PARAM NAME=’Volume’ VALUE=’50′>

9) SoundTrack:设置播放文件声道
< PARAM NAME=’SoundTrack’  VALUE=’数字’>
0=混合音;
1=左声道;
2=右声道;
3=默认(立体声);
4=左声道扩展到全部;
5=右声道扩展到全部
举例(设置左声道):
< PARAM NAME=’SoundTrack’ VALUE=’1′>

10) EnableTextAd:设置文字链开关
< PARAM NAME=’EnableTextAd’  VALUE=’0或1′>
1=开启文字链广告开关,0=关闭文字链广告开关
举例(打开文字链广告开关):
< PARAM NAME=’EnableTextAd’ VALUE=’1′>

11) QvodTextAdUrl:设置文字链广告地址
< PARAM NAME=’QvodTextAdUrl’  VALUE=’xml文件的http链接’>
举例:
< PARAM NAME=’QvodTextAdUrl’ VALUE=’http://ad.tom365.com/text.xml’>

12) SkipBegin: 设置片头长度
< PARAM NAME=’SkipBegin’  VALUE=’数字’>
值为片头时长,单位:秒。在插件点播时,根据设置,跳过该长度的片头。
举例(跳过片头120秒):
< PARAM NAME=’SkipBegin’ VALUE=’120′>

13) SkipEnd:设置片尾长度
< PARAM NAME=’SkipEnd’  VALUE=’数字’>
值为片尾时长,单位:秒。在插件点播时,根据设置,跳过该长度的片尾。
举例(跳过片尾180秒):
< PARAM NAME=’SkipEnd’ VALUE=’180′>

2、控件的属性和方法:
1) 播放
Play()

2) 停止
Stop()

3) 暂停
Pause()

4) 设置当前播放位置
Currentpos:
单位为秒,例如想设置播放位置在一分钟则:
c++等语言:
long pos = 60;
put_Currentpos(pos);
javastricpt/vb/vbstricpt等脚本语言:
var pos = 60;
QvodPlayer.Currentpos = 60;

5) 得到当前播放位置
Currentpos:
c++等语言:
long pos= 0;
HRESULT hr = get_Currentpos(&pos);
javastricpt/vb/vbstricpt等脚本语言:
var pos = 0;
pos  = QvodPlayer.Currentpos;

6) 得到播放持续时间
Duration:
单位为秒
c++等语言:
long dur = 0;
HRESULT hr = get_Duration(&dur);
javastricpt/vb/vbstricpt等脚本语言:
var dur = 0;
dur = QvodPlayer.Duration;

7) 设置全屏与否
Full (BOOL bFull):
bFull=TRUE为全屏,bFull=FALSE为取消全屏。如设置全屏:
c++等语言:
BOOL bFull = TRUE;
put_Full (bFull );
javastricpt/vb/vbstricpt等脚本语言:
var full= true;
QvodPlayer.Full= full;

8) 得到是否全屏
Full:
c++等语言:
BOOL bFull = TRUE;
HRESULT hr = get_Full(&bFull);
javastricpt/vb/vbstricpt等脚本语言:
var full= true;
full = QvodPlayer.Full;

9) 设置静音
Mute(BOOL bMute):
bMute=TRUE为静音,bMute=FALSE为取消静音。如设置为静音:
c++等语言:
BOOL bMute= TRUE;
put_Mute(bMute);
javastricpt/vb/vbstricpt等脚本语言:
var pos = true;
QvodPlayer.Mute = pos ;

10) 得到是否静音状态
Mute():
c++等语言:
BOOL bMute = TRUE;
HRESULT hr  = get_Mute (&bMute);
javastricpt/vb/vbstricpt等脚本语言:
var mute= true;
mute = QvodPlayer.Mute;

11) 得到当前播放状态
PlayState():
c++等语言:
PLAYSTATE state= Undefined ;
HRESULT hr = get_PlayState (&state);
javastricpt/vb/vbstricpt等脚本语言:
var state;
state = QvodPlayer.PlayState;

播放状态值:
enum enum_PalyState
{
_S_Init = 0,
_S_Stop,
_S_Pause,
_S_Playing,
_S_Buffering,
_S_Waiting,
_S_MediaEnded,
_S_Ready,
_S_Conning,
_S_BTDowning,
_S_CreateDS,
_S_Stoping
};
//Undefined = 0,准备就绪;Stopped = 1,停止; Paused = 2,暂停; Playing = 3,播放中; Buffering = 4,缓冲中; Waiting = 5,等待中; MediaEnded = 6,播放结束Ready = 7, 准备读;Reconnecting = 8,重连中; BTDowning = 9 BT种子下载中; Createing = 10,正在连接中; Stoping=11 正在停止;

刚开始播的时候的状态是Createing

12) 得到现在声音的值
Volume():
c++等语言:
long v = 0;
HRESULT hr = get_Volume (&v);
javastricpt/vb/vbstricpt等脚本语言:
var v;
v= QvodPlayer.Volume;

13) 设置现在声音的值
Volume():
0-100中间的值
例如设置声音值为50;
c++等语言:
long v = 50;
put_Volume (v);
javastricpt/vb/vbstricpt等脚本语言:
var v = 50;
QvodPlayer.Volume = v;

14) 设置是否循环播放
NumLoop(long newVal);
newVal=0不循环,-1无限循环,大于0的值就代表循环次数
c++等语言:
long v = 0;
put_NumLoop(v);
javastricpt/vb/vbstricpt等脚本语言:
var v = 0;
QvodPlayer.NumLoop= v;

15) 设置视频框架
ViewFrame(long viewid)
viewid = 0,按窗口拉伸埴充;
viewid = 1,按比例填充;
viewid = 2,4:3;
viewid = 3,5:4;
viewid = 4,16:9。
例如设置拉伸填充
c++等语言:
long viewid  = 0;
put_ ViewFrame(viewid);
javastricpt/vb/vbstricpt等脚本语言:
var v = 0;
QvodPlayer.ViewFrame = v;

16) 获取播放文件码率
get_Rate ():
单位:Kbps
c++等语言:
long rate = 0;
HRESULT hr = get_Rate (&rate);
javastricpt/vb/vbstricpt等脚本语言:
var rate;
rate = QvodPlayer.get_Rate();

17) 设置播放文件声道
SoundTrack(long track);
enum enum_SoundChannel
{
S_MONO =0, //混合音 – 0
S_LEFT, //左声道 – 1
S_RIGHT, //右声道 – 2
S_DEFAULT, //默认   - 3
S_LTOALL, //左声道扩展到全部 – 4
S_RTOALL //右声道扩展到全部 – 5
};
例如想设置左声道。
c++等语言:
long v = 1;
put_SoundTrack(v);
javastricpt/vb/vbstricpt等脚本语言:
var v = 1;
QvodPlayer.SoundTrack = v;

18) 设置播放亮度对比度(5.0版开始不再支持)
AdjustVideo(long ntype);
ntype = 0;//视频调节
ntype = 1;//音频调节
ntype = 2;//均衡调节
ntype = 3;//字幕调节
如进行视频调节
c++等语言:
long ntype = 0;
AdjustVideo(ntype);
javastricpt/vb/vbstricpt等脚本语言:
var ntype = 0;
AdjustVideo(ntype);

19) 获取播放文件路径
c++等语言:
BSTR strfilename = NULL;
HRESULT hr = get_MainInfo(&strfilename);
javastricpt/vb/vbstricpt等脚本语言:
var filename ;
filename = QvodPlayer.MainInfo;

20) 获取播放文件下载的进度
返回值是千分值.如果你想化成百分比的话,用这个值除以10即可.即是百分比的值.如你取到的值是98,则代表是已经下载了9.8%
c++等语言:
long taskdown = 0;
HRESULT hr = get_CurTaskProcess(&taskdown);
javastricpt/vb/vbstricpt等脚本语言:
var taskdown = 0;
taskdown = QvodPlayer.get_CurTaskProcess();

21) 设置控件所属的父窗口(5.0版开始不再支持)
void put_ParentWnd(long hWnd);
long hWnd 为父窗口句柄
如果设置该窗口后,当用户点击浮动的1倍,2倍或者右键菜单1倍,2倍,0.5倍时会向该窗口发送消息
:: PostMessage(hWnd, value, 0, 0);
value:
case WM_USER + 335://0.5倍
case WM_USER + 336://1倍
case WM_USER + 337://2倍

22) 控件函数调用
CallFunction:
现在暂只支持通过该函数获取播放文件视频原始宽高及插件版本号
获取视频原始宽高:
输入:<invoke name=”Width_Height” returntype=”xml”></invoke>
输出:<invoke name=”Width_Height” returntype=”xml”>
<Width value=”%d”></Width>
<Height value=”%d”></Height>
</invoke>
获取版本号:
输入:<invoke name=”QvodVersion” returntype=”xml”></invoke>
输出:<invoke name=”QvodVersion” returntype=”xml” vn=”%s”></invoke>
%s表示具体的版本号,如5.0.77.0。
c++等语言:
BSTR*  CallFunction(BSTR request);
javastricpt/vb/vbstricpt等脚本语言:
var rexml = QvodPlayer.CallFunction(xml);

23) 预缓冲下一集
StartNextDown:
该接口能让用户在看当前这集节目的时候,自动先缓冲下一集节目,这样当用户看下一集时就能很快的开始看了。也可以配合设置IE自动导航到下一页面NextWebPage这个接口,这样用户就可以完全不用手动去点击网页,完全流畅观看节目了。
支持http或者QVOD格式两种协议。
c++等语言:
BSTR url=_T(“qvod://117840593|FEB33A6420E14C7CFA16828083CD914D9E959B3B|秘密的校园_03.rmvb|”);
StartNextDown(url);
javastricpt/vb/vbstricpt等脚本语言:
var url=”http://117.21.248.253:80/131658100/A1B09F2D7F2C84679AE5110210448F7FB7C8F54F/秘密的校园_04.rmvb”
或者url=”qvod://117840593|FEB33A6420E14C7CFA16828083CD914D9E959B3B|秘密的校园_03.rmvb|”;
QvodPlayer.StartNextDown(url);

24) 获取当前文件下载速度
Downrate:
速度单位为KB/S
c++等语言:
long downrate = 0;
HRESULT hr = QvodPlayer. get_Downrate(&downrate);
javastricpt/vb/vbstricpt等脚本语言:
var ldownrate = QvodPlayer.Downrate;

25) 设置文字链广告地址
QvodTextAdUrl(textAdUrl):
c++等语言:
BSTR textAdUrl=_T(“http://ad.tom365.com/text.xml”);
HRESULT hr = put_QvodTextAdUrl(textAdUrl);
javastricpt/vb/vbstricpt等脚本语言:
var textAdUrl=”http://ad.tom365.com/text.xml ” ;
QvodPlayer. QvodTextAdUrl=textAdUrl;
XML文件的格式请参考QVOD资源服务器中的文字链模版文件。

26) 设置文字链开关
EnableTextAd(BOOL bEnable):
bEnable=TRUE为开启文字链广告,FALSE则为关闭。如开启文字链广告:
c++等语言:
BOOL bTextOn = TRUE;
HRESULT hr = put_EnableTextAd(bTextOn);
javastricpt/vb/vbstricpt等脚本语言:
var textad = true;
QvodPlayer.EnableTextAd = textad;

27) 获取插件版本号
Version:
c++等语言:
BSTR strversion = NULL;
HRESULT hr = get_Version(&strversion);
javastricpt/vb/vbstricpt等脚本语言:
var version = 0;
Version = QvodPlayer.Version;

28) 获取缓冲进度
BufferPercent:
获得缓冲的百分比, 取值范围:0-100,不处于缓冲状态为0
c++等语言:
long buffpercent = 0;
HRESULT hr = get_BufferPercent(&buffpercent);
javastricpt/vb/vbstricpt等脚本语言:
var buffpercent = 0;
buffpercent = QvodPlayer.BufferPercent;

29) 获取影片是否支持设置播放位置
Canseek(bSeek):
bSeek=0为不支持,1为支持。当为0时,Currentpos无效
c++等语言:
long seek = 0;
HRESULT hr = get_Canseek(&seek);
javastricpt/vb/vbstricpt等脚本语言:
var seek = 0;
seek = QvodPlayer.Canseek;



只回答业务咨询点击这里给我发消息 点击这里给我发消息

王牌软件,兼职软件设计,软件修改,毕业设计。

本文出自 王牌软件,转载时请注明出处及相应链接。

本文永久链接: http://www.softwareace.cn/?p=555

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量