上篇我们在网页中(html、jsp、php)嵌入了快播播放器,嵌入代码如下:

  <object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="560" height="420" id="QvodPlayer" name="QvodPlayer" onError="downLoadQvod();">                   <param name="url" id="qvodurl0" value="http://192.168.1.254:8089/ftp/ftpupload//2_1001_025201.AVI">                  <param name="Autoplay" value="1">                   <param name="Showcontrol" value="1">       </object>  

参数介绍:url:播放视频文件的地址  Autoplay:是否自动播放,1:是,0:否  Showcontrol:是否显示控制栏,也就是下面的声音控制以及进度条 1:是,0:否,界面如下:注意:下载的快播版本不同会有不同的页面效果

在项目中我们可能会有这样的需求,就是从服务器端获取很多的视频文件地址,我们播放一个后自动跳转到下一个,开始我也是从快播方面考虑,在其论坛上http://bbs.kuaibo.com/找了很多相关方面的资料,发现其有自己的内部实现方式,可能要在其后台进行相应的发布和地址格式转换等等,想要研究的看这篇博客:http://bbs.kuaibo.com/thread-19410-1-1.html,后来想来想去,还是自己用js解决了,在里面使用了我们的定时器。代码如下:

<script type="text/javascript">         function downLoadQvod(){           if(window.confirm('请您先安装QvodPlayer软件,然后刷新本页才可以正常播放!')){               window.open('<%=basePath%>video/qvod-setup.exe');                }          }           function play(){          QvodPlayer.url="F:/30230201/02-53-02.AVI";                  QvodPlayer.play();         }                   var i=0;           function getState(){        //将请求的地址封装为数组            var   urlArray=["F:/30230201/02-52-01.AVI","F:/30230201/02-53-02.AVI","F:/30230201/02-53-03.AVI"];           var state = QvodPlayer.PlayState;           if(state==0&&i<urlArray.length){              QvodPlayer.url=urlArray[i];                QvodPlayer.play();              i++;           }         }                   //设置定时器,1s种请求一次          setInterval("getState()",1000);      </script>

我们也可以点击按钮后出发定时器:

  //单个视频播放        function singlePlay(path){             QvodPlayer.url="${video_path}"+path;            QvodPlayer.play();           }                   //多个视频连续播放          function multiPlay(index){              var urls=$("#s_"+index).text();             var i=1;               if(urls!=""){                var urlArray=urls.split(",");                singlePlay(urlArray[0]);                setInterval(function(){                     var state = QvodPlayer.PlayState;                       if(state==0&&i<urlArray.length-1){                         singlePlay(urlArray[i]);                            i++;                       }                 },1000);            }           }

这样,每1s中就是判断上一个视频文件是否播放完毕,播放完后自动跳转到下一集,不足的是没有做到像快播那样自动缓冲下一集的功能,只是一个文件的跳转而已!!

上面我们可以看到快播里面一个方法:QvodPlayer.PlayState;它是调用了快播中的一个属性,快播给我们的js和vb提供了相应的接口,正是因为这些接口的存在,我们才可以在页面中可以对快播玩转自如,下面把它提供的接口给大家瞧瞧:

1、属性接口:
1)URL:播放文件地址。URL值格式:qvod://文件大小|文件hash值|文件名|
如:qvod://145485901|E4284D21B54DCB7181EA853B88746D693ACEA079|美丽的选择-第三部-05.rmvb|
2) AutoPlay:是否自动播放。0:不自动播放  1:自动播放。默认是不自动播放。
< PARAM NAME='AutoPlay'  VALUE='0'>
3) Showcontrol:是否显示控制栏,0=不显示  1= 显示 默认参数是显示
< PARAM NAME='Showcontrol'  VALUE='0'>

4)NextWebPage:播放当前节目后自动导航到下一集或者其它网页的功能
默认为空即不导航。网页地址请以http://开头.
<;PARAM NAME='NextWebPage' VALUE='http://www.vod588.com/dy_player/b22cbb3c.html?262614'>

5)NumLoop:是否循环播放当前节目
值:0 为不循环,大于0为循环次数,递减到0后即停止循环,-1为一直循环。
默认为0.

6)QvodAdUrl: 网页中的链接地址是qvod://格式时,可以在网页中用此参数指定播放前的缓冲页面地址
注:3.0.0.58版本及将来发布的版本才支持。
<PARAM NAME='QvodAdUrl' VALUE='http://buffer-ad.qvod.com/index_bak.asp'>

2、方法接口:
1)播放
Play():        
2)停止                        
Stop():        
3)暂停
Pause():

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

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

6) 得到播放持续时间 
Duration:               
c++等语言:
double newValue = 0;
newValue  = get_Duration();
javastricpt/vb/vbstricpt等脚本语言:
var pos = 0;
pos  = QvodPlayer.Duration;

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

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

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

10) 得到是否静音状态
BOOL GetMute():
c++等语言:
BOOL bMute = TRUE;
Mute  = get_Mute ();
javastricpt/vb/vbstricpt等脚本语言:
var pos = true;
pos  = QvodPlayer.Mute;        
               
11) 得到当前播放状态
PlayState():
c++等语言:
PLAYSTATE state= Undefined ;
state= get_PlayState ();
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
上面只是一部分,其他的就不一一例举了,想去了解,点击这里查看更多:http://bbs.kuaibo.com/thread-592-1-1.html

转载于:https://blog.51cto.com/8786457/1389921

网页嵌入快播播放器并实现服务器视频文件连续播放相关推荐

  1. Java 音乐播放器开发学习之——音频文件的播放

    Java Sound API是javaSE平台提供底层的(low-level)处理声音接口,可以实现音频文件的播放. 其核心包括: AudioSystem AudioInputStream Audio ...

  2. 播放ftp服务器视频文件,远程播放ftp服务器上的文件

    远程播放ftp服务器上的文件 内容精选 换一换 添加节点时提示"添加节点失败,节点已存在".待添加节点的服务器上已安装系统性能分析或者添加过节点.如果待添加节点的服务器上已安装系统 ...

  3. 设置VLC播放器进行RTSP推流视频

    设置VLC播放器进行RTSP推流视频 一.推流与拉流概念 二.设置推流端 三.设置拉流端(播放端) VLC官网:https://www.videolan.org/ 一.推流与拉流概念 首先,做几个名词 ...

  4. easyplayerpro 使用说明_H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能?...

    原标题:H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能? 由于TSINGSEE青犀视频H265播放器EasyPlayer系列项目的开放性,关于EasyPlaye ...

  5. [转载备用]极酷SevenColorPlayer网页播放器(炫彩广告版),最强播放器定制

     极酷炫彩广告版(SevenColorPlayer)V2网页播放器介绍 * 支持前置flash广告.支持视频广告.支持暂停广告.支持文字滚动广告: * 支持自行[开启]或[关闭]前置flash广告,支 ...

  6. ps4播放器显示dlna服务器,PS4更新:期待已久的功能终于出现了

    目前在销量方面索尼的PS4一直领先微软Xbox One,但不得不说的是,PS4在多媒体应用和管理上的确不如对手. 不过这境况已经在本届E3游戏展上宣告结束.索尼确认期待已久的全新媒体播放器登陆PS4. ...

  7. 开发个好的RTMP播放器到底难在哪里?RTMP播放器对标和考察指标

    好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...

  8. html音乐唱片自动转,HTML5音乐播放器(四):播放列表与播放方式

    发现播放列表和播放方式切换两个功能是连在一起的,单独一个拿出来说不太合适,所以就都一块弄完了.废话不多说,进入主题,功能的逻辑我是这么设计的: 把整个歌曲文件的信息都写在 json 文件里,获取并生成 ...

  9. HTML5音乐播放器(四):播放列表与播放方式

    2019独角兽企业重金招聘Python工程师标准>>> 发现播放列表和播放方式切换两个功能是连在一起的,单独一个拿出来说不太合适,所以就都一块弄完了.废话不多说,进入主题,功能的逻辑 ...

最新文章

  1. LM393,LM741可以用作电压跟随器吗?
  2. 力软 框架 转 mysql_快速web开发框架——learun framework
  3. php大号字体代码,支持中文字母数字、自定义字体php验证码代码
  4. 迭代器: isinstance
  5. linux中下载文件的命令
  6. Vertx编程风格:您的反应式Web Companion REST API解释了
  7. docker run 服务名_在 WSL2.0 的 Ubuntu 18 里使用 Docker
  8. golang redis获取所有key_Redis 内存分析神器
  9. mysql必背_必背的mysql语句.doc
  10. 我是主考官:给一位应届毕业生的回信
  11. 操作系统原理(四)死锁和进程调度
  12. 给定坐标(星期几、第几节)前端显示问题
  13. Java开发笔记(一百四十四)实现FXML对应的控制器
  14. linux iconv命令详解,iconv命令
  15. MVPArms官方快速组件化方案开源,Android快速开发之架构组件
  16. MAC版WORD使用EndNote之后每次打开都显示域代码解决方法
  17. BitTorrent Sync简介
  18. 淘气网(一个仿淘宝的购物网站)
  19. android 定时截图,这款 APP 让我每天都忍不住想发截图!
  20. ubuntu18.04 RoboCup实物

热门文章

  1. java中instanceof的用法和实战
  2. stc单片机 读写flash_3.看懂单片机上的标号
  3. 企业微信报销单对接用友、金蝶解决方案
  4. 图文并茂解释Transformer--The Illustrated Transformer翻译精简
  5. 流量矿石:经历九死一生,曾获王欣亲自嘉奖,被5亿快播用户追捧
  6. 国产机器人抢滩进行时!优艾智合引领智能制造浪潮
  7. CCNA Command
  8. 燕山大学计算机毕业论文,燕山大学本科(毕业论文)格式.doc
  9. 青龙面板+Ninja
  10. php medoo 创建表,medoo实现数据库基本操作