映像(mp4)の再生

映像(mp4)とそのサムネイルを作っておき、サムネイルをクリック時に映像を再生する。
サムネイル、mp4、タイトルはxmlファイルで定義する。xmlファイルは次のとおり。

<?xml version="1.0" encoding="Shift_JIS"?>
<root>
   <customer>
      <title>ビッグバン</title>  タイトル
      <thmb>bigbang.jpg</thmb>  サムネイル
      <name>bigbang.mp4</name>  mp4
   </customer>
   <customer>
      <title>木星の誕生</title>
      <thmb>jupiter.jpg</thmb>
      <name>jupiter.mp4</name>
   </customer>
   <customer>
      <title>シャボン玉</title>
      <thmb>sabao.jpg</thmb>
      <name>sabao.mp4</name>
   </customer>
   <customer>
      <title>オーロラ</title>
      <thmb>aurora.jpg</thmb>
      <name>aurora.mp4</name>
   </customer>
   <customer>
      <title>尾瀬ヶ原 咲き乱れる日光きすげ</title>
      <thmb>ozegahara.jpg</thmb>
      <name>ozegahara.mp4</name>
   </customer>
   <customer>
      <title>30000本のひまわり畑</title>
      <thmb>sunflower.jpg</thmb>
      <name>sunflower.mp4</name>
   </customer>
</root>

xmlファイルを読み込み、サムネイルを表示するソースコードは次のとおり。

<?php
$limX = 120;
$limY = 120;
$thmb_box_width = $limX + 2. 'px';
//ディレクトリ名
$dir_path = "../img/test/";
if ($fileContents = file_get_contents('filedef.xml')):
  $xml = new SimpleXMLElement($fileContents);
  $maxCustomer = count($xml->customer);
  $count = 0;
  $loop = 0;
  while ($loop < $maxCustomer):
     $title = $xml->customer[$loop]->title;
     $thmb = $xml->customer[$loop]->thmb;
     $thmb_file = $dir_path.$thmb;
     $name = $xml->customer[$loop]->name;
     $video_file = $dir_path.$name;
     ++$loop;
     if(is_file($thmb_file) && is_file($video_file)):
       if (@getimagesize($thmb_file)):
          $iarray = getimagesize($thmb_file);
          $sx = $iarray[0];
          $sy = $iarray[1];
          $width = $limX;
          $bairitu = $limX / $sx;
          $height = $sy * $bairitu;
          $url = urlencode(mb_convert_encoding($video_file, "UTF-8")); 
          $url_title = urlencode(mb_convert_encoding($title, "UTF-8")); 
          if($count!=0 && $count%4==0) :
             echo '<BR>';
          endif; 
       $count++; ?>
       <div style="width:<?= $thmb_box_width ?>;float:left;margin:6px"> 
       <a href ="video.php?path=<?= $url ?>&title=<?= $url_title ?>" target = "_blank">
       <img src = "<?= $thmb_file ?>" width="<?= $width ?>" height="<?= $height ?>"><figcaption style="font-size:80%;text-align:center;"><?= $title ?></figcaption></a></div>
<?php
       endif;
     endif;
  endwhile;
endif;
?>

mp4を再生するvideo.phpのソースコード

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<script src="http://api.html5media.info/1.1.4/html5media.min.js"></script> 
<![endif]-->
<?php
if(!empty($_GET['path'])):
  $file_name = $_GET['path'];
  $title = $_GET['title'];
?>
  <h1><?php echo $title; ?></h1>
  <video controls width="600" height="500" autoplay>
  <source src="<?= $file_name ?>" type="video/mp4"> 
  </video>
<?php endif; ?>

サンプル