web/tagging/index.html
changeset 2 65157edaee3e
equal deleted inserted replaced
1:b56aabf3a21b 2:65157edaee3e
       
     1 <html>
       
     2   <head>
       
     3     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
       
     4     <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
       
     5     <script type="text/javascript" src="flowplayer-3.1.2.min.js"></script>
       
     6     <script type="text/javascript" src="tagtool.js"></script>
       
     7     <script type="text/javascript" src="segments.js"></script>
       
     8     <link rel="stylesheet" type="text/css" href="style.css">
       
     9     
       
    10 
       
    11 
       
    12     <style type="text/css">
       
    13     .seg_container {
       
    14         margin: 10px;
       
    15     }
       
    16 
       
    17     .segtimeline {
       
    18         width: 500px;
       
    19         height:15px;
       
    20         border: 1px solid black;
       
    21     }
       
    22 
       
    23     .segtimeline > div {
       
    24         height: 15px;
       
    25         background: black;
       
    26     }
       
    27 
       
    28     .seghiglighted {
       
    29         background: #ffcc33 !important;
       
    30     }
       
    31 
       
    32     </style>
       
    33 
       
    34 
       
    35     <title>Marquer un extrait</title>
       
    36 
       
    37     <script type="text/javascript">
       
    38 
       
    39     // Charge le player
       
    40     flowplayer("player", "flowplayer-3.1.2.swf",
       
    41                {
       
    42                    clip: {url: "xxy.f4v",
       
    43                           autoPlay: false,
       
    44                           autoBuffering: true,
       
    45                           onSeek: function() {
       
    46                               playerSeek();
       
    47                           }
       
    48                          },
       
    49                    
       
    50                    plugins: {
       
    51                        
       
    52                        content: {url: "flowplayer.content-3.1.0.swf",
       
    53                                  backgroundColor: 'transparent',
       
    54                                  display: 'none',
       
    55                                  style: {p: {fontSize: 15}}
       
    56                                 }
       
    57                        
       
    58                    },
       
    59                    
       
    60                    onLoad: function() {
       
    61                        playerLoaded(this);
       
    62                    },
       
    63                    
       
    64                    onUnload: function() {
       
    65                        playerUnloaded(this);
       
    66                    },
       
    67                    onError: function(code,msg) {
       
    68                        alert(msg);
       
    69                    },
       
    70                });
       
    71 
       
    72                
       
    73                function loadSegments() {
       
    74                   
       
    75                    if ($f().getClip() == undefined) {
       
    76                        window.setTimeout("loadSegments()",2000);
       
    77                        return false;
       
    78                    }
       
    79 
       
    80                    var duration = Math.round($f().getClip().fullDuration*10) * 100;
       
    81                  
       
    82 
       
    83                    var segments = tagTool.segments;
       
    84 
       
    85                    for (seg in segments) {
       
    86                        var segd = segments[seg].sout - segments[seg].sin;
       
    87                        var percent = Math.round(segd * 100 / duration);
       
    88                        var offset = Math.round(segments[seg].sin * 100 / duration);
       
    89                        var c = $('#seg_container_template').clone().removeAttr("id");
       
    90                        $("#segments").append(c);
       
    91                        $("span", c).html('<strong>' + tagTool.segments[seg].tag +'</strong> par ' + segments[seg].user);
       
    92                        $("#seg_0", c).css({'margin-left': offset+'%', 'width': percent+'%'})
       
    93                        .attr('id', 'seg_' + seg)
       
    94                        .click(function() {
       
    95                            seg_id = $(this).attr("id");
       
    96                            seg_id = seg_id.substr(seg_id.indexOf('_') + 1);
       
    97                            tagTool.playSegment(seg_id, $("#pauseAfter").val());
       
    98                        });
       
    99                        c.show();
       
   100                    }
       
   101                }
       
   102 
       
   103 
       
   104                function playerSeek() {
       
   105                    tagTool.rebuildCurrentTags(tagTool.player.getTime() * 1000);
       
   106                }
       
   107 
       
   108                
       
   109                function playerLoaded(player) {
       
   110                    // Charge les tags
       
   111     $("#segmentMarkerButtons").css("opacity",1);
       
   112                            $("#btMarkIn").removeAttr("disabled");
       
   113                     $.getJSON("loadtags.php", "", function(data) {
       
   114                         tagTool.segments = data;
       
   115                         tagTool.setupHandlers($f("player"));
       
   116                         window.setTimeout("loadSegments()", 2000);
       
   117                     });
       
   118  
       
   119                    tagTool.player = $f("player");
       
   120                    tagTool.showTagInPage = false;
       
   121 
       
   122                }
       
   123 
       
   124 
       
   125     </script>
       
   126 
       
   127   </head>
       
   128   <body>
       
   129     <div id="page">
       
   130       <h1>Marquer un extrait</h1>
       
   131       <p>Cette page vous permet de marquer un passage de la vidéo avec un mot clé</p>
       
   132       
       
   133       <div style="display:block;width:520px;height:330px;background:#aaa;" id="player">
       
   134       </div>
       
   135 
       
   136 
       
   137       <p id="segmentMarkerButtons" style="text-align:center;opacity:0.5">
       
   138 	<button type="button" id="btMarkIn"  disabled onClick="segmentMarker.markIn()">
       
   139 	  Marquer le début
       
   140 	</button>
       
   141 	<button type="button" id="btMarkOut" disabled onClick="segmentMarker.markOut()">
       
   142 	  Marquer la fin
       
   143 	</button>
       
   144 	<button type="button" id="btPlaySegment" disabled onClick="segmentMarker.playSegment()">
       
   145 	  Lire la séquence
       
   146 	</button>
       
   147       </p>
       
   148       
       
   149       <form action="savetag.php" method="post" id="segmentForm" style="display: none;">
       
   150         <h2>Enregistrer votre segment</h2>
       
   151         <p>Vous aller créer un segment, entre <span id="mkin">0</span> et <span id="mkout">0</span>.</p>
       
   152         <p style="text-align: center;">
       
   153           Votre tag : <input type="text" id="usertag" name="usertag" />&nbsp;
       
   154           Nom d'utilisateur : <input type="text" id="username" name="username" value="visteur" />
       
   155           <input type="hidden" name="xtid" value="<?php echo extract.id;?>" />
       
   156           <input type="hidden" name="timein" id="frmIn" value="0" />
       
   157           <input type="hidden" name="timeout" id="frmOut" value="0" />
       
   158           <input type="submit" value="Enregistrer" />
       
   159         </p>
       
   160       </form>
       
   161 
       
   162 
       
   163       <h2>Segments</h2>
       
   164       <p>Segments déjà créés. Cliquez sur un segment pour le lire.</p>
       
   165       <p><input type="checkbox" id="pauseAfter" checked /> Faire une pause à la fin du segment</p>
       
   166 
       
   167       <div id="segments">
       
   168 
       
   169         <div class="seg_container" id="seg_container_template" style="display: none">
       
   170           <span class="tagname">Tag</span>
       
   171           <div class="segtimeline">
       
   172             <div id="seg_0">.</div>
       
   173           </div>
       
   174 
       
   175       </div>
       
   176 
       
   177       <div id="dbg">
       
   178     <ul>
       
   179     </ul>
       
   180     </div>
       
   181   </body>
       
   182 </html>