mirror of
https://github.com/videojs/video.js.git
synced 2024-11-26 08:51:09 +02:00
31f6fcdbd6
Added rEvtContext for creating removable event listeners with context. Switch to top/left form holygrail for load bar positioning. Switched to relative/absolute for contorlsBelow instead of JS calculating heights. Started testing maps integration.
105 lines
5.0 KiB
HTML
105 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>HTML5 Video Player</title>
|
|
|
|
<!-- Include the VideoJS Library -->
|
|
<script src="../video.js" type="text/javascript" charset="utf-8"></script>
|
|
<script type="text/javascript">
|
|
VideoJS.DOMReady(function(){
|
|
var myPlayer = VideoJS.setup("example_video_1", { controlsHiding: false, controlsBelow: true, showControlsAtStart: true });
|
|
myPlayer.activateControl(document.getElementById("scrub"), "loadProgressBar");
|
|
var vid = document.getElementById("example_video_1"),
|
|
attrTable = document.getElementById("attributes"),
|
|
attrNames = ["error", "networkState", "readyState", "preload", "buffered",
|
|
"seeking", "currentTime", "initialTime", "duration", "startOffsetTime",
|
|
"paused", "defaultPlaybackRate", "playbackRate", "played", "seekable",
|
|
"ended", "autoplay", "loop", "controls", "volume", "muted", "tracks"
|
|
],
|
|
attrs = {};
|
|
|
|
for(var i=0,j=attrNames.length; i<j; i++) {
|
|
var row = _V_.createElement("tr");
|
|
var th = _V_.createElement("th");
|
|
th.innerHTML = attrNames[i];
|
|
attrs[attrNames[i]] = _V_.createElement("td", { id: attrNames[i] });
|
|
row.appendChild(th); row.appendChild(attrs[attrNames[i]]);
|
|
attrTable.appendChild(row);
|
|
}
|
|
|
|
setInterval(function(){
|
|
for(var i=0,j=attrNames.length; i<j; i++) {
|
|
attrs[attrNames[i]].innerHTML = vid[attrNames[i]];
|
|
}
|
|
}, 100);
|
|
|
|
var events = ["loadstart","progress","suspend","abort","error","emptied","stalled","play","pause",
|
|
"loadedmetadata", "loadeddata", "waiting", "playing", "canplay", "canplaythrough", "seeking", "seeked",
|
|
// "timeupdate",
|
|
"ended", "ratechange", "durationchange","volumechange"
|
|
],
|
|
eventsList = document.getElementById("events");
|
|
|
|
for(var i=0,j=events.length; i<j; i++) {
|
|
vid.addEventListener(events[i], function(){
|
|
eventsList.innerHTML = this + "\n" + eventsList.innerHTML
|
|
}.context(events[i]), false);
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
<style type="text/css" media="screen">
|
|
#attributes { width: 300px; float: left; }
|
|
#events { width: 300px; height: 500px; float: left; }
|
|
</style>
|
|
|
|
<!-- Include the VideoJS Stylesheet -->
|
|
<link rel="stylesheet" href="../video-js.css" type="text/css" media="screen" title="Video JS">
|
|
<link rel="stylesheet" href="../skins/tube.css" type="text/css" media="screen" title="Video JS">
|
|
<link rel="stylesheet" href="../skins/hu.css" type="text/css" media="screen" title="Video JS">
|
|
<link rel="stylesheet" href="../skins/vim.css" type="text/css" media="screen" title="Video JS">
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Begin VideoJS -->
|
|
<div id="scrub" style="background: #000; height: 10px;"></div>
|
|
<div class="video-js-box">
|
|
<!-- Using the Video for Everybody Embed Code http://camendesign.com/code/video_for_everybody -->
|
|
<video data-subtitles="../demo-subtitles.srt" id="example_video_1" class="video-js" width="640" height="264" controls="controls" preload="auto" poster="http://video-js.zencoder.com/oceans-clip.png">
|
|
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
|
|
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm; codecs="vp8, vorbis"' />
|
|
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg; codecs="theora, vorbis"' />
|
|
<!-- Flash Fallback. Use any flash video player here. Make sure to keep the vjs-flash-fallback class. -->
|
|
<object id="flash_fallback_1" class="vjs-flash-fallback" width="640" height="264" type="application/x-shockwave-flash"
|
|
data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
|
|
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
|
|
<param name="allowfullscreen" value="true" />
|
|
<param name="flashvars" value='config={"playlist":["http://video-js.zencoder.com/oceans-clip.png", {"url": "http://video-js.zencoder.com/oceans-clip.mp4","autoPlay":false,"autoBuffering":true}]}' />
|
|
<!-- Image Fallback. Typically the same as the poster image. -->
|
|
<img src="http://video-js.zencoder.com/oceans-clip.png" width="640" height="264" alt="Poster Image"
|
|
title="No video playback capabilities." />
|
|
</object>
|
|
</video>
|
|
<!-- Download links provided for devices that can't play video in the browser. -->
|
|
<p class="vjs-no-video"><strong>Download Video:</strong>
|
|
<a href="http://video-js.zencoder.com/oceans-clip.mp4">MP4</a>,
|
|
<a href="http://video-js.zencoder.com/oceans-clip.webm">WebM</a>,
|
|
<a href="http://video-js.zencoder.com/oceans-clip.ogv">Ogg</a><br>
|
|
<!-- Support VideoJS by keeping this link. -->
|
|
<a href="http://videojs.com">HTML5 Video Player</a> by VideoJS
|
|
</p>
|
|
</div>
|
|
<!-- End VideoJS -->
|
|
|
|
<a href="#" onclick="document.getElementById('example_video_1').currentTime = 10; return false;">Click</a>
|
|
|
|
<table id="attributes">
|
|
</table>
|
|
|
|
<textarea id="events"></textarea>
|
|
|
|
</body>
|
|
</html> |