サイトをFlashベースの動画からHTML5に変換したいと考えています。現在の動画はタイムマークを使用してスライドを表示します(YouTubeが動画に広告を表示するようなものです)。ただし、Youtubeと私のサイトの違いは、ビデオ内に表示されず、スライドがビデオの横に表示されることです。
HTML5でこれを達成する方法はありますか?または、これにJavascriptを使用する必要がありますか?
これが十分に明確でない場合、私に知らせてください。
JavaScriptが必要です。
良いニュースは、非常に簡単だということです。ビデオの再生に jPlayer ビデオプレーヤーを使用し、$.jPlayer.event.timeupdate
イベントをバインドしてスライドショーを進めるだけです:
<!doctype html>
<html>
<head>
<title>Demo : jPlayer as a slide player</title>
<link href="skin/jplayer.blue.monday.css" rel="stylesheet" type="text/css" />
<style>
#slideshow{ float:left; margin-left:10px;}
.jp-video{ float:left;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.jplayer.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$("#jp").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v",
ogv: "http://www.jplayer.org/video/ogv/Big_Buck_Bunny_Trailer_480x270.ogv",
poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png"
});
},
ended: function (event) {
$(this).jPlayer("play");
},
swfPath: "js",
supplied: "m4v, ogv"
});
$("#jp").bind($.jPlayer.event.timeupdate, function(event) {
var currentTime = Math.floor(event.jPlayer.status.currentTime)
if (currentTime < 3){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide1.png'/>");
}
if (currentTime >= 3 && currentTime < 12){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide2.png'/>");
}
if (currentTime >= 12 && currentTime < 16){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide3.png'/>");
}
if (currentTime >= 16 && currentTime < 22){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide4.png'/>");
}
if (currentTime >= 22 && currentTime < 30){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide5.png'/>");
}
if (currentTime >= 30){
$("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/fin.png'/>");
}
});
});
//]]>
</script>
</head>
<body>
<div class="jp-video jp-video-360p">
<div class="jp-type-single">
<div id="jp" class="jp-jplayer"></div>
<div id="jp_interface_1" class="jp-interface">
<div class="jp-video-play"></div>
<ul class="jp-controls">
<li><a href="#" class="jp-play" tabindex="1">play</a></li>
<li><a href="#" class="jp-pause" tabindex="1">pause</a></li>
<li><a href="#" class="jp-stop" tabindex="1">stop</a></li>
<li><a href="#" class="jp-mute" tabindex="1">mute</a></li>
<li><a href="#" class="jp-unmute" tabindex="1">unmute</a></li>
</ul>
<div class="jp-progress">
<div class="jp-seek-bar">
<div class="jp-play-bar"></div>
</div>
</div>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
<div class="jp-current-time"></div>
<div class="jp-duration"></div>
</div>
<div id="jp_playlist_1" class="jp-playlist">
<ul>
<li>Big Buck Bunny Trailer</li>
</ul>
</div>
</div>
</div>
<div id="slideshow">
<img src='http://yoursite.com.com/wm/jplayer/slides/slide1.png'/>
</div>
</body>
</html>
はい、説明したスライド機能を実装するにはJavaScriptが必要です。HTML5は単なるマークアップです。それにページにビデオを埋め込むことができますが、それをもっと凝ったものにするためには、CSSとJavaScriptの通常のコンボを使用する必要があります。