特效介绍
playease.js是一个HTML5播放器,支持HTTP-FLV、WebSocket-FLV、WebSocket-fMP4、MPEG-DASH、RTMP(IE8-10)、HLS(iOS)等直播,以及HTML5之3大格式。同样采用MVC、事件驱动等,源码易于阅读和扩展。支持自定义水印,支持弹幕等。兼容IE8+浏览器。提供了视频右上角logo的PSD源文件,各位可以改成自己的logo,然后在配置参数中,引入logo地址,即可。

公众号:STUDEASE
QQ群:528109813
项目地址:https://github.com/studease/playease
快速预览:http://studease.cn/playease.html
使用方法
简单例子:1、HTML代码:
<div id='playwrap' style='margin: 0 auto; width: 100%; max-width: 640px; top: 0; left: 0;'>
<div id='player'></div>
</div>
2、js代码:
var pw = document.getElementById('playwrap');
var events = playease.events;
var player = playease('player');
player.addEventListener(events.PLAYEASE_FULLPAGE, onFullpage);
player.addEventListener(events.RESIZE, onResize);
player.setup({
width: 640,
height: 400,
aspectratio: '16:9',
file: '/vod/sample.flv', //视频地址
/*sources: [{
file: 'http://127.0.0.1/live/sample.flv',
type: 'flv',
label: 'HTTP-FLV'
}, {
file: 'ws://127.0.0.1/live/sample.flv',
type: 'flv',
label: 'WS-FLV'
}, {
file: 'ws://127.0.0.1/live/sample',
type: 'rtmpmate',
label: 'WS-RTMPMATE'
}, {
file: 'ws://127.0.0.1/live/sample',
type: 'wss',
label: 'WS-fMP4'
}, {
file: 'http://127.0.0.1/live/sample/manifest.mpd',
type: 'dash',
label: 'MPEG-DASH'
}, {
file: 'rtmp://127.0.0.1/live/sample',
type: 'flash',
label: 'RTMP-STREAM'
}, {
file: 'http://127.0.0.1/live/sample/index.m3u8',
type: 'def'
}],*/
mode: 'vod',
controls: true,
autoplay: false,
//poster: 'sample.png',
//report: true,
loader: {
name: 'xhr-chunked-loader',
chunkSize: 2 * 1024 * 1024,
mode: 'cors'
},
logo: {
file: 'logo.png' //logo地址
},
bulletscreen: {
enable: true,
visible: true
},
/*fullpage: {
visible: true
},*/
render: {
name: 'def',
bufferLength: 4 * 1024 * 1024,
swf: '../swf/playease.swf'
}
});
function onFullpage(e) {
pw.style.margin = e.exit ? '0 auto' : '0';
pw.style.height = e.exit ? '' : '100%';
pw.style.position = e.exit ? '' : 'fixed';
pw.style.maxWidth = e.exit ? '640px' : '100%';
pw.style.zIndex = e.exit ? '' : '99';
}
function onResize(e) {
// x5-playsinline
if (playease.utils.isAndroid() && playease.utils.isQQBrowser()) {
var video = document.getElementById('player').firstChild.lastChild;
video.style.width = window.innerWidth + 'px';
video.style.height = window.innerHeight + 'px';
video.style['object-position'] = 'center top';
var controlbar = document.getElementById('player').childNodes[1];
controlbar.style.top = e.height - 40 + 'px';
controlbar.style.position = 'absolute';
var next = document.getElementById('others');
next.style.top = e.height + 'px';
next.style.bottom = '0px';
next.style.position = 'absolute';
next.style.zIndex = 999;
}
// Something else
}
配置项:文件目录:cn/studease/embed/playease.embed.config.js
_defaults = {
width: 640,
height: 400,
aspectratio: '16:9',
file: '',
sources: [],
mode: rendermodes.VOD,
bufferTime: .1,
maxretries: 0,
retrydelay: 3000,
controls: true,
autoplay: true,
airplay: 'allow',
playsinline: true,
poster: '',
report: false,
debug: false,
loader: {
//name: 'xhr-chunked-loader', // For flv render in vod mode only. Otherwise, don't name it out.
//chunkSize: 2 * 1024 * 1024, // For xhr-chunked-loader only
mode: iomodes.CORS
},
logo: {
visible: true
},
bulletscreen: {
enable: true,
visible: false
},
fullpage: {
visible: false
},
render: {
name: rendertypes.DEFAULT,
//bufferLength: 4 * 1024 * 1024, // For flv render in vod mode only
swf: 'swf/playease.swf'
},
skin: {
name: skintypes.DEFAULT
},
events: {
}
};
使用回调方法:
playease('player').setup({
...
events: {
onReady: function(e) {
console.log('onReady');
},
...
}
});
// or
var events = playease.events;
var player = playease('player');
player.addEventListener(events.PLAYEASE_READY, onReady);
player.setup({
...
});
function onReady(e) {
console.log('onReady');
}
更多事件方法参见:文件目录:cn/studease/api/playease.api.js
_eventMapping = {
onError: events.ERROR,
onReady: events.PLAYEASE_READY,
onMetaData: events.PLAYEASE_METADATA,
onBuffering: events.PLAYEASE_BUFFERING,
onPlaying: events.PLAYEASE_PLAYING,
onPaused: events.PLAYEASE_PAUSED,
onReloading: events.PLAYEASE_RELOADING,
onSeeking: events.PLAYEASE_SEEKING,
onStopped: events.PLAYEASE_STOPPED,
onReport: events.PLAYEASE_REPORT,
onMute: events.PLAYEASE_MUTE,
onVolume: events.PLAYEASE_VOLUME,
onVideoOff: events.PLAYEASE_VIDEOOFF,
onHD: events.PLAYEASE_HD,
onBullet: events.PLAYEASE_BULLET,
onFullpage: events.PLAYEASE_FULLPAGE,
onFullscreen: events.PLAYEASE_FULLSCREEN,
onResize: events.RESIZE
};
接口:
play(url) pause() reload() seek(offset) stop() report() mute(mute) volume(vol) videoOff(off) hd(index) bullet(enable) fullpage(exit) fullscreen(exit) shoot(text) resize(width, height)
