martedì 6 maggio 2014

JPlayer

JPlayer e' un plugin di JQuery che permette di mostrare video ed eseguire file audio via browser in modo indipentente dal browser stesso e quindi con una migliore riuscita ed uniformita' tra i diversi client/browser (il tag <audio> per esempio non funziona in modo uguale sui differenti browser desktop e mobile)


Il codice sottostante mostra una implementazione completa del controllo
Si osserva che nelle prime righe sono caricate le librerie jquery e jplayer, in seguito viene definito il tipo di file ed il nome del file da riprodurre (in questo caso taxus.mp3)

In seguito si ha l'impostazione del vero e proprio player
Per la vestizione tutto e' gestito a livello di css per esempio
div.jp-audio width e' la dimesione totale del player
--------------------------------------------------------
<html>
<head>
  <link type="text/css" href="./skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" />
  <script type="text/javascript" src="./js/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="./js/jquery.jplayer.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function(){
      $("#jquery_jplayer_1").jPlayer({
        ready: function () {
          $(this).jPlayer("setMedia", {
            title: "Taxus",
            mp3: "./audio/taxus.mp3",
            });
        },
        swfPath: "/js",
        supplied: "mp3"
      });
    });
  </script>
</head>
<body>
  <div id="jquery_jplayer_1" class="jp-jplayer"></div>
  <div id="jp_container_1" class="jp-audio">
    <div class="jp-type-single">
      <div class="jp-gui jp-interface">
        <ul class="jp-controls">
          <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
          <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
          <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
          <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
          <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
          <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</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-time-holder">
          <div class="jp-current-time"></div>
          <div class="jp-duration"></div>
          <ul class="jp-toggles">
            <li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
            <li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
          </ul>
        </div>
      </div>
     <div class="jp-no-solution">
        <span>Update Required</span>
        To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
      </div>
    </div>
  </div>
</body>
</html>
--------------------------------------------------------

E' possibile ottenere anche un player ridotto semplicemente cancellando i riferimenti ai pulsanti delle funzioni.
Un esempio minimale (solo Play e Stop)


ed il relativo codice
--------------------------------------------------------
<html>
<head>
  <link type="text/css" href="./skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" />
  <script type="text/javascript" src="./js/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="./js/jquery.jplayer.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function(){
      $("#jquery_jplayer_1").jPlayer({
        ready: function () {
          $(this).jPlayer("setMedia", {
            title: "Taxus",
            mp3: "./audio/taxus.mp3",
            });
        },
        swfPath: "/js",
        supplied: "mp3"
      });
    });
  </script>
</head>
<body>
  <div id="jquery_jplayer_1" class="jp-jplayer"></div>
  <div id="jp_container_1" class="jp-audio">
    <div class="jp-type-single">
      <div class="jp-gui jp-interface">
        <ul class="jp-controls">
          <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
          <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
          <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
        </ul>
      </div>
     <div class="jp-no-solution">
        <span>Update Required</span>
        To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
      </div>
    </div>
  </div>
</body>
</html>