将JW Player嵌入到网页中非常的简单,只需要进行如下3个步骤:

1、解压mediaplayer-viral.zip文件,将jwplayer.js和player.swf文件拷贝到工程中;

2、在页面引入jwplayer.js文件:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>

3、将下面代码粘贴在body标签内,如下所示:

<div id="container">Loading the player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

file: "/uploads/video.mp4",

height: 270,

width: 480

});

</script>

上面代码的含义不言自明,上面script中的flashplayer只不过是JWPlayer众多配置中的一个,上面例子使用了div标签,下面给出使用video标签:

<video

src="/videos/video.mp4"

height="270"

id="container"

poster="/thumbs/image.jpg"

width="480">

</video>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf"

});

</script>

在这种情况下,JW Player使用video标签及其属性加载配置选项。

快速嵌入

将jwplayer.js和player.swf拷贝到jwplayer文件夹,你可以通过下面两行简单的代码将JW Player嵌入到HTML网页中,代码如下:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>

<video class="jwplayer" src="/uploads/video.mp4"poster="/uploads/image.jpg"></video>

页面中class属性值为jwplayer的所有video标签将更换为JW Player。

JWPlayer语法

语法基本结构:

jwplayer(container).setup({options});

“container”是加载JW Player的DOM元素,例如video、div、p等等,如果是video标签,标签的属性(比如width和src))将被加载到JW Player中;“options”是JW Player配置选项列表,配置选项的指南包含完整的概述,比如下面的例子:

<div id="container">Loadingthe player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

autostart: true,

controlbar: "none",

file: "/videos/video.mp4",

duration: 57,

flashplayer: "/jwplayer/player.swf",

volume: 80,

width: 720

});

</script>

“options”的选项并不仅限于此,它还有如下选项:

skin:设置JW Player皮肤;

playlist: 设置JW Player播放列表;

levels:通过设置比特率来设定不同视频的播放质量等级;

plugins:设置JW Player插件,包括它们的配置选项;

events: 给JW Player添加事件,营造执行js脚本的环境;

modes:指定为了渲染播放器JW Player 所使用的不同浏览器技术的顺序;

接下来详细介绍这些选项:

skin

JW Player有各种各样的可用来修改播放器外观和感觉的皮肤。为了嵌入JWPlayer 5的皮肤,只需将压缩文件拷贝到Web服务器上并使用skin选项指定皮肤压缩文件路径即可,代码如下:

<div id="container">Loadingthe player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

file: "/uploads/video.mp4",

height: 270,

width: 480,

skin: "/skins/modieus/modieus.zip"

});

</script>

注意:如果您正在配置主要在HTML5 mode中运行的JW Player,你的皮肤的文件夹结构看起来应该像这样:

/skins/modieus/modieus.zip

/skins/modieus/modieus.xml

/skins/modieus/controlbar/

/skins/modieus/playlist/

etc.

更多皮肤下载:http://developer.longtailvideo.com/trac/browser/skins?rev=1035&order=name

playlist

该选项用于设置JW Player播放列表;例子如下:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

playlist: [

{ duration: 32, file: "/uploads/video.mp4", image:"/uploads/video.jpg"},

{ duration: 124, file: "/uploads/bbb.mp4", image:"/uploads/bbb.jpg" },

{ duration: 542, file: "/uploads/ed.mp4", image:"/uploads/ed.jpg" }

],

"playlist.position": "right",

"playlist.size": 360,

height: 270,

width: 720

});

</script>

一个播放列表可以包含一个或多个视频文件,每一个文件都支持如下属性:

file:如果没有设置levels选项,则该项为必选项)。该项用来指定媒体的位置。如果未设置此属性,playlist项将被忽略;

image:用来设置视频海报图片,是播放列表的一部分,该图片显示在视频播放前和视频播放完成后;

duration:视频的持续时间,单位为秒。该播放器用该选项将视频持续时间显示在控制栏和图片列表中;

start:视频播放时间点。当用户播放该视频文件时,视频将不会从头播放,而是从该选项设定的播放时间点开始播放;

title:视频标题,显示在图形播放列表中;

description:视频描述信息,显示在图形播放列表中;

streamer:设定视频流应用。仅用于RTMP或HTTP流;

provider:设置用于回放播放列表视频的特定媒体回放API(如HTTP,RTMP或YouTube);

levels:设定视频播放的质量等级。

Levels

levels配置项允许将一个视频的多个质量等级加载到播放器中。Flash播放器使用这些设定的质量等级实现RTMP或HTTP码率切换。比特率转换是一种播放器为每一位视频观看者自动显示最佳视频质量的机制。

下面展示使用RTMP码率切换(又称动态流)的一个例子。注意这里使用了“streamer”配置项,该配置项用来告诉播放器RTMP服务器的位置:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

height: 270,

width: 480,

image: "/thumbs/video.jpg",

levels: [

{ bitrate: 300, file: "videos/video_300k.mp4", width: 320 },

{ bitrate: 600, file: "videos/video_600k.mp4", width: 480 },

{ bitrate: 900, file: "videos/video_900k.mp4", width: 720 }

],

provider: "rtmp",

streamer: "rtmp://rtmp.example.com/application/"

});

</script>

下面这个例子使用了HTTP码率切换。通过为http设定“provider”配置项来启用HTTP码率切换:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

height: 270,

width: 480,

image: "/thumbs/video.jpg",

levels: [

{ bitrate: 300, file: "http://example.com/videos/video_300k.mp4",width: 320 },

{ bitrate: 600, file: "http://example.com/videos/video_600k.mp4",width: 480 },

{ bitrate: 900, file: "http://example.com/videos/video_900k.mp4",width: 720 }

],

provider: "http","http.startparam":"starttime"

});

</script>

在HTML5模式中使用levels选项

在HTML5模式中为了兼容各种浏览器,也可以使用levels选项指定交替的视频格式。如果浏览器不支持levels选项中第一个视频文件,那么播放器将使用第二个,以此类推。如下代码:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

height: 270,

width: 480,

image: "/thumbs/video.jpg",

levels: [

{ file: "/videos/video.mp4" }, // H.264 version

{ file: "/videos/video.webm" }, // WebM version

{ file: "/videos/video.ogv" } // Ogg Theroa version

]

});

</script>

Plugins

插件被用于JWPlayer顶部的堆栈。很多插件在我们的库中是可用的,例如转发,分析或广告。下面给出一个使用了HD 插件和GoogleAnalytics Pro插件的例子:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

file: "/videos/video.mp4",

height: 270,

plugins: {

hd: { file: "/videos/video_high.mp4", fullscreen: true },

gapro: { accountid: "UKsi93X940-24" }

},

image: "/thumbs/video.jpg",

width: 480

});

</script>

下面再给出一个使用了sharing插件的例子,在该例子中插件的参数被包括在了playlist块内:

<div id="container">Loadingthe player...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

playlist: [

{ file: "/videos/bunny.mp4", "sharing.link":"http://bigbuckbunny.org"},

{ file: "/videos/ed.mp4", "sharing.link":"http://orange.blender.org" }

],

plugins: {

sharing: { link: true }

},

height: 270,

width: 720

});

</script>

Events

events块允许你向播放器事件上添加JavaScript脚本。这是一个增强网页交互性的强大方法。下面给出一个简答的例子:

<div id="container">Loadingthe player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

file: "/videos/video.mp4",

height: 270,

width: 480,

events: {

onComplete: function() { alert("the video is finished!"); }

}

});

</script>

下面再给出一个含有两个事件处理的例子。注意:onReady()方法使用this声明自动启动播放器,onVolume()方法处理正在处理的事件:

<div id="container">Loadingthe player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

flashplayer: "/jwplayer/player.swf",

file: "/videos/video.mp4",

height: 270,

width: 480,

events: {

onReady: function() { this.play(); },

onVolume: function(event) { alert("the new volume is"+event.volume); }

}

});

</script>

要查看所有事件及其属性,请参考API,其网址为:http://www.longtailvideo.com/support/jw-player/28850/using-the-javascript-api

也可参考API文件夹中的word文档。

Modes

modes配置项被用来指定渲染播放器JW Player所使用不同浏览器技术的顺序,JW Player使用的默认顺序为:

1、Flash 插件;

2、HTML5中的video标签;

3、一个源文件的下载链接。

下面给出一段代码,让html5播放器放在最前面;

<div id="container">Loadingthe player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

file: "/videos/video.mp4",

height: 270,

width: 480,

modes: [

{ type: "html5" },

{ type: "flash", src: "/jwplayer/player.swf" },

{ type: "download" }

]

});

</script>

modes的具体配置(5.5版本)

可以为每个模式指定可替换的播放器配置,如果播放器嵌入在一个特定的模式中,那么它将覆盖默认的配置。

<div id="container">Loading the player ...</div>

<script type="text/javascript">

jwplayer("container").setup({

height: 270,

width: 480,

image: "http://server.com/images/thumbnail.jpg",

modes: [

{ type: "flash",src: "/jwplayer/player.swf",config: {

file: "video.mp4",

streamer: "rtmp://rtmp.server.com/videos",

provider: "rtmp"

}

},

{ type: "html5",config: {

file: "http://server.com/videos/video.mp4"

}

},

{ type: "download" }

]

});

</script>

Player Removal

使用如下代码可以去除播放器

jwplayer("container").remove();

remove方法将使播放器停止播放,DOM重新设置为原来的状态,所有的事件侦听器被清除。

获取更多关于详细,请访问http://www.jwplayer.com/ 网址。

JWPlayer快速入门指南(中文)的更多相关文章

  1. NOI Linux 快速入门指南

    目录 关于安装 NOI Linux 系统配置 网络 输入法 编辑器 1. gedit 打开 配置 外观展示 2. vim 打开 配置 使用 makefile 编译运行 1. 编写 makefile 2 ...

  2. AngularJS快速入门指南20:快速参考

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  3. AngularJS快速入门指南19:示例代码

    本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...

  4. AngularJS快速入门指南18:Application

    是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...

  5. AngularJS快速入门指南17:Includes

    使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...

  6. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  7. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  8. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  9. AngularJS快速入门指南13:表单

    一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...

随机推荐

  1. kafka生产者和消费者流程

    前言 根据源码分析kafka java客户端的生产者和消费者的流程. 基于zookeeper的旧消费者 kafka消费者从消费数据到关闭经历的流程. 由于3个核心线程 基于zookeeper的连接器监 ...

  2. 51Nod 1737 配对(树的重心)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 题意: 思路: 树的重心. 树的重心就是其所以子树的最大的子树结点 ...

  3. Builder(建造者)

    意图: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 适用性: 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时. 当构造过程必须允许被构造的对象有不同 ...

  4. 【源码学习之spark core 1.6.1 standalone模式下的作业提交】

    说明:个人原创,转载请说明出处 http://www.cnblogs.com/piaolingzxh/p/5656876.html 未完待续

  5. 在x86为arm 编译 httpd 2.2.31

    这个版本的httpd 已经自带 apr apr-util pcre , 不用额外下载源代码 1) 编写环境变量脚本,并执行 cross-env.sh : export ARMROOTFS=/h1roo ...

  6. MongoDB排序异常

    com.mongodb.MongoQueryException: Query failed with error code 96 and error message 'Executor error d ...

  7. Java Redis的Pipeline管道,批量操作,节省大量网络往返时间 & Redis批量读写(hmset&hgetall) 使用Pipeline

    一般情况下,大家使用redis去put/get都是先拿到一个jedis实例,然后操作,然后释放连接:这种模式是 请求-响应,请求-响应 这种模式,下一次请求必须得等第一次请求响应回来之后才可以,因为r ...

  8. Http缓存知识;HTTPS, HTTP2相关知识;百度统计和即时线上客服。

    安装 : 百度统计 来统计用户流量, Intercom 来做即时线上客服. 这两个是 JavaScript 插件放在 HTML 上的. HTTP缓存: https://developers.googl ...

  9. MySQL多表关联查询与存储过程

    --  **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积 ...

  10. EPANET头文件解读系列6——HASH.H

    该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释 /* HASH.H**** Header file for Hash Table module HASH.C***/ ...