网页嵌入快播播放器并实现服务器视频文件连续播放
上篇我们在网页中(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
网页嵌入快播播放器并实现服务器视频文件连续播放相关推荐
- Java 音乐播放器开发学习之——音频文件的播放
Java Sound API是javaSE平台提供底层的(low-level)处理声音接口,可以实现音频文件的播放. 其核心包括: AudioSystem AudioInputStream Audio ...
- 播放ftp服务器视频文件,远程播放ftp服务器上的文件
远程播放ftp服务器上的文件 内容精选 换一换 添加节点时提示"添加节点失败,节点已存在".待添加节点的服务器上已安装系统性能分析或者添加过节点.如果待添加节点的服务器上已安装系统 ...
- 设置VLC播放器进行RTSP推流视频
设置VLC播放器进行RTSP推流视频 一.推流与拉流概念 二.设置推流端 三.设置拉流端(播放端) VLC官网:https://www.videolan.org/ 一.推流与拉流概念 首先,做几个名词 ...
- easyplayerpro 使用说明_H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能?...
原标题:H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能? 由于TSINGSEE青犀视频H265播放器EasyPlayer系列项目的开放性,关于EasyPlaye ...
- [转载备用]极酷SevenColorPlayer网页播放器(炫彩广告版),最强播放器定制
极酷炫彩广告版(SevenColorPlayer)V2网页播放器介绍 * 支持前置flash广告.支持视频广告.支持暂停广告.支持文字滚动广告: * 支持自行[开启]或[关闭]前置flash广告,支 ...
- ps4播放器显示dlna服务器,PS4更新:期待已久的功能终于出现了
目前在销量方面索尼的PS4一直领先微软Xbox One,但不得不说的是,PS4在多媒体应用和管理上的确不如对手. 不过这境况已经在本届E3游戏展上宣告结束.索尼确认期待已久的全新媒体播放器登陆PS4. ...
- 开发个好的RTMP播放器到底难在哪里?RTMP播放器对标和考察指标
好多开发者提到,RTMP播放器,不知道有哪些对标和考察指标,以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验 ...
- html音乐唱片自动转,HTML5音乐播放器(四):播放列表与播放方式
发现播放列表和播放方式切换两个功能是连在一起的,单独一个拿出来说不太合适,所以就都一块弄完了.废话不多说,进入主题,功能的逻辑我是这么设计的: 把整个歌曲文件的信息都写在 json 文件里,获取并生成 ...
- HTML5音乐播放器(四):播放列表与播放方式
2019独角兽企业重金招聘Python工程师标准>>> 发现播放列表和播放方式切换两个功能是连在一起的,单独一个拿出来说不太合适,所以就都一块弄完了.废话不多说,进入主题,功能的逻辑 ...
最新文章
- LM393,LM741可以用作电压跟随器吗?
- 力软 框架 转 mysql_快速web开发框架——learun framework
- php大号字体代码,支持中文字母数字、自定义字体php验证码代码
- 迭代器: isinstance
- linux中下载文件的命令
- Vertx编程风格:您的反应式Web Companion REST API解释了
- docker run 服务名_在 WSL2.0 的 Ubuntu 18 里使用 Docker
- golang redis获取所有key_Redis 内存分析神器
- mysql必背_必背的mysql语句.doc
- 我是主考官:给一位应届毕业生的回信
- 操作系统原理(四)死锁和进程调度
- 给定坐标(星期几、第几节)前端显示问题
- Java开发笔记(一百四十四)实现FXML对应的控制器
- linux iconv命令详解,iconv命令
- MVPArms官方快速组件化方案开源,Android快速开发之架构组件
- MAC版WORD使用EndNote之后每次打开都显示域代码解决方法
- BitTorrent Sync简介
- 淘气网(一个仿淘宝的购物网站)
- android 定时截图,这款 APP 让我每天都忍不住想发截图!
- ubuntu18.04 RoboCup实物