【JQ】-jPlayer视频、音乐播放器使用详解!

来源:互联网 发布:微星没有淘宝旗舰店 编辑:程序博客网 时间:2024/03/29 19:21

下载官网:http://www.jplayer.org/
当前版本:2.3.0
功能:视频播放(可全屏)、音乐播放
全部原教程,说明并不详细,要结合查看其网页源代码来学习:http://www.jplayer.org/latest/demos/
备注:文件夹里blue.monday和pink.flag和circle.skin三个文件夹里是三种播放器皮肤(及PSD文件),任选一种。样式文件和图片都可以改,只要容器类名称不变就行。
      popcorn文件夹里是给视频加字幕的插件,后面有介绍。add-on文件夹里是列表播放用的插件和检测用的插件。
   在IE8及以下版本,会因为最后一个参数结尾有逗号而不工作,要注意。
如果你的mp4、m4v、ogv等不能在网站上播放,请检查你网站的MIME类型,比如:
.mp4 video/mp4
.m4v video/m4v
.3gp video/3gpp
.ogv application/ogg
.webm video/webm
.flv video/x-flv

====================== 音乐调用方法 =======================
======================

【A】最简单的:(不用皮肤,单一首歌)

◆头:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<script type="text/javascript">
 $(document).ready(function(){
  $("#jquery_jplayer_1").jPlayer({
    ready: function () {
      $(this).jPlayer("setMedia", {
         mp3: "media/mysound.mp3",  m4a: "media/mysound.mp4",  oga: "media/mysound.ogg"
      });
    },
   swfPath: "jPlayer",
   supplied: "mp3, m4a, oga"
  });
 });
</script>

◆◆注:如果要自动播放和自动循环,要加上.jPlayer("play")和.jPlayer("repeat")在这里:
$(this).jPlayer("setMedia", {
         mp3: "media/mysound.mp3",  m4a: "media/mysound.mp4",  oga: "media/mysound.ogg"
}).jPlayer("play").jPlayer("repeat");


◆身体:
<div id="jquery_jplayer_1"></div><!--播放音频的flash隐藏窗口-->
<div id="jp_container_1">
 <a href="#" class="jp-play">Play</a>
 <a href="#" class="jp-pause">Pause</a>
</div>


======================
【B】全功能界面:

◆头同上,再加上:
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">

◆身体:
<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-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 class="jp-title">
   <ul>
    <li>My jPlayer</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>


======================
【C】多首歌列表播放:

◆头,必须再导入个jplayer.playlist.min.js文件才能播放列表:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<script src="jPlayer/add-on/jplayer.playlist.min.js"></script>
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">
<script type="text/javascript">
$(document).ready(function(){
 new jPlayerPlaylist({
  jPlayer: "#jquery_jplayer_1",
  cssSelectorAncestor: "#jp_container_1"
         }, [
  {title:"My Sound 1",mp3: "media/mysound1.mp3", oga:"media/mysound1.ogg"},
  {title:"My Sound 2",mp3: "media/mysound2.mp3", oga:"media/mysound2.ogg", free:true},//free:true会在列表中此条音乐名称右边出现格式选择
  {title:"My Sound 3",mp3: "media/mysound3.mp3", oga:"media/mysound3.ogg"}
         ], {
  swfPath: "../js",
  supplied: "oga, mp3",
  wmode: "window",
  smoothPlayBar: true,
  keyEnabled: true
 });
});
</script>

◆◆如果要自动播放且自动循环要加上ready: function (){$(this).jPlayer("play").jPlayer("repeat");},在这里:
……
          {title:"My Sound 2",mp3: "media/mysound2.mp3", oga:"media/mysound2.ogg"},
   {title:"My Sound 3",mp3: "media/mysound3.mp3", oga:"media/mysound3.ogg"}
   ], {
          ready: function (){$(this).jPlayer("play").jPlayer("repeat");},
   swfPath: "../js",
……


◆身体其他部分不变同上,在.jp-toggles里加上了随机播放的开关,在.jp-interface后面加了个播放列表的空容器:
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio">
 <div class="jp-type-playlist">
  <div class="jp-gui jp-interface">
   <ul class="jp-controls">
    <li><a href="javascript:;" class="jp-previous" tabindex="1">previous</a></li>
    <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-next" tabindex="1">next</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-current-time"></div>
   <div class="jp-duration"></div>
   <ul class="jp-toggles">
                                <li><a href="javascript:;" class="jp-shuffle" tabindex="1" title="shuffle">shuffle</a></li>
                  <li><a href="javascript:;" class="jp-shuffle-off" tabindex="1" title="shuffle off">shuffle off</a></li>
    <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 class="jp-playlist"><ul><li></li></ul></div>
 </div>
</div>

 

======================
【D】更复杂的JS设置及说明:

◆头:
<script type="text/javascript">
$(document).ready(function(){
  $("#jquery_jplayer_1").jPlayer({
    ready: function () {   //当flash一切载入就绪后,发生的事,如自动播放
      $(this).jPlayer("setMedia", {
         mp3: "media/mysound.mp3",  m4a: "media/mysound.mp4",  oga: "media/mysound.ogg"
      });
    },
   swfPath: "jPlayer",   //播放用flash所在的相对路径
   solution: 'html, flash',
   supplied: "mp3, m4a, oga",
   preload: 'metadata',
   volume: 0.8,   //默认打开时音量
   muted: false,
   backgroundColor: '#000000',
   cssSelectorAncestor: '#jp_container_1',
   wmode: "window",
   smoothPlayBar: true,
   keyEnabled: true, //键盘快捷键(上下左右空白)可用否
   cssSelector: {  //可以用自己容器的类名或ID来取代默认
      videoPlay: '.jp-video-play',
      play: '.jp-play',
      pause: '.jp-pause',
      stop: '.jp-stop',
      seekBar: '.jp-seek-bar',
      playBar: '.jp-play-bar',
      mute: '.jp-mute',
      unmute: '.jp-unmute',
      volumeBar: '.jp-volume-bar',
      volumeBarValue: '.jp-volume-bar-value',
      volumeMax: '.jp-volume-max',
      currentTime: '.jp-current-time',
      duration: '.jp-duration',
      fullScreen: '.jp-full-screen',
      restoreScreen: '.jp-restore-screen',
      repeat: '.jp-repeat',
      repeatOff: '.jp-repeat-off',
      gui: '.jp-gui',
      noSolution: '.jp-no-solution'
   },
   errorAlerts: false, //报错开关
   warningAlerts: false //报错开关
  });
});
</script>


======================
【E】在线流音乐播放:

◆头:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">
<script type="text/javascript">
$(document).ready(function(){
var stream = {
  title: "流音乐测试",
  mp3: "http://listen.radionomy.com/abc-jazz"
 },
 ready = false;

 $("#jquery_jplayer_1").jPlayer({
  ready: function (event) {
   ready = true;
   $(this).jPlayer("setMedia", stream);
  },
  pause: function() {
   $(this).jPlayer("clearMedia");
  },
  error: function(event) {
   if(ready && event.jPlayer.error.type === $.jPlayer.error.URL_NOT_SET) {
    // Setup the media stream again and play it.
    $(this).jPlayer("setMedia", stream).jPlayer("play");
   }
  },
  swfPath: "jPlayer",
  supplied: "mp3",
  preload: "none",
  wmode: "window"
 });
});
</script>

◆身体:
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio-stream">
  <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-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-volume-bar"><div class="jp-volume-bar-value"></div></div>
    </div>
    <div class="jp-title"><ul><li>ABC Jazz</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>

 


====================== 视频调用方法 =======================
======================
【F】单个视频播放:

◆头:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">
<script type="text/javascript">
$(document).ready(function(){
 $("#jquery_jplayer_1").jPlayer({
  ready: function () {
   $(this).jPlayer("setMedia", {
    m4v: "media/myVideo.m4v", ogv: "media/myVideo.ogv", webmv: "media/myVideo.webm", poster: "media/myVideo.png" //封面图
   }); //如果要一开始就全屏,加.jPlayer("fullScreen")但只是全窗口而不是全屏
  },
  swfPath: "jPlayer",
  supplied: "webmv, ogv, m4v",
  size: {
       width: "640px", height: "360px", cssClass: "jp-video-360p"
  },
  smoothPlayBar: true
 });
});
</script>

◆身体:
<div id="jp_container_1" class="jp-video jp-video-360p"><!--jp-video-360p是在CSS里预设好的宽640高360的样式-->
   <div class="jp-type-single">
           <div id="jquery_jplayer_1" class="jp-jplayer"></div><!--播放画面flash窗口-->
           <div class="jp-gui">
                 <div class="jp-video-play"><a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a></div>
              <div class="jp-interface">
                  <div class="jp-progress">
                         <div class="jp-seek-bar">
                            <div class="jp-play-bar"></div>
                       </div>
                  </div>
                  <div class="jp-current-time"></div>
                  <div class="jp-duration"></div>
                  <div class="jp-title"><ul><li>My Video</li></ul></div>
                  <div class="jp-controls-holder">
                       <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-volume-bar"><div class="jp-volume-bar-value"></div></div>
                       <ul class="jp-toggles">
                            <li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full screen</a></li>
                            <li><a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore screen</a></li>
                            <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>
          <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>


======================
【H】视频列表播放:

◆头,别忘了导入jplayer.playlist.min.js才能用:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<script src="jPlayer/add-on/jplayer.playlist.min.js"></script>
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">
<script type="text/javascript">
$(document).ready(function(){
 new jPlayerPlaylist({
  jPlayer: "#jquery_jplayer_1",
  cssSelectorAncestor: "#jp_container_1"
     }, [
  {
   title:"My Video 1", artist:"me", free:true, //free:true会在列表中此条视频名称右边出现格式选择
   m4v: "media/myVideo1.m4v", ogv: "media/myVideo1.ogv", poster:"media/myVideo1.png"
  },
  {
   title:"My Video 2", artist:"me",
   m4v: "media/myVideo2.m4v", ogv: "media/myVideo2.ogv", poster:"media/myVideo2.png"
  },  {
   title:"My Video 3", artist:"me",
   m4v: "media/myVideo3.m4v", ogv: "media/myVideo3.ogv", poster:"media/myVideo3.png"
  }
     ], {
  swfPath: "jPlayer",
  supplied: "ogv, m4v",
  size: {width: "640px", height: "360px"},
  smoothPlayBar: true
 });
});
</script>

◆身体:
<div id="jp_container_1" class="jp-video jp-video-270p">
  <div class="jp-type-playlist">
    <div id="jquery_jplayer_1" class="jp-jplayer"></div>
    <div class="jp-gui">
      <div class="jp-video-play"><a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a></div>
      <div class="jp-interface">
        <div class="jp-progress">
          <div class="jp-seek-bar"><div class="jp-play-bar"></div></div>
        </div>
        <div class="jp-current-time"></div>
        <div class="jp-duration"></div>
        <div class="jp-title"><ul><li></li></ul></div>
        <div class="jp-controls-holder">
          <ul class="jp-controls">
            <li><a href="javascript:;" class="jp-previous" tabindex="1">previous</a></li>
            <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-next" tabindex="1">next</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-volume-bar"><div class="jp-volume-bar-value"></div></div>
          <ul class="jp-toggles">
            <li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full screen</a></li>
            <li><a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore screen</a></li>
            <li><a href="javascript:;" class="jp-shuffle" tabindex="1" title="shuffle">shuffle</a></li>
            <li><a href="javascript:;" class="jp-shuffle-off" tabindex="1" title="shuffle off">shuffle off</a></li>
            <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>
    <div class="jp-playlist"><ul><li></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>


======================
【I】给视频加文字的popcorn插件:(支持中文,但貌似字体,颜色,位置等都不能改)

◆头,加上popcorn文件夹里的4个JS文件!注意顺序:
<script src="css_js/jquery.js"></script>
<script src="jPlayer/jquery.jplayer.min.js"></script>
<script src="jPlayer/popcorn/popcorn.js"></script>
<script src="jPlayer/popcorn/popcorn.player.js"></script>
<script src="jPlayer/popcorn/popcorn.jplayer.js"></script>
<script src="jPlayer/popcorn/popcorn.subtitle.js"></script>
<link rel="stylesheet" type="text/css" href="jPlayer/pink.flag/jplayer.pink.flag.css">
<script type="text/javascript">
$(document).ready(function(){
 var p = Popcorn.jplayer('#jquery_jplayer_1', {
  media: {
   m4v: "media/myVideo.m4v", ogv: "media/myVideo.ogv", poster:"media/myVideo.png"
  },
  options: {
   swfPath: "jPlayer",
   supplied: "ogv, m4v",
   size: {width: "640px",height: "360px"},
      smoothPlayBar: true}
 })
 .subtitle({
  start: 2, end: 6, text: "大家好,这是后加的视频字幕。"
 })
 .subtitle({
  start: 6, end: 10, text: "用到了popcorn插件。"
 })
 .subtitle({
  start: 10, end: 15, text: "Enabling jPlayer to function with the features of Popcorn"
 })
 .subtitle({
  start: 16, end: 32, text: "Have fun playing with it!"
 });
});
</script>

◆身体同F一样。

 

 =====================================

 【J】其他,比如播放结束后的动作:

$("#jpId").jPlayer( {  ready: function() { // $.jPlayer.event.ready 事件    $(this).jPlayer("setMedia", { // 设置媒体      m4v: "m4v/presentation.m4v"    }).jPlayer("play"); // 自动播放媒体  },  ended: function() { // The $.jPlayer.event.ended 事件    window.location = "/page/index.aspx";  },  supplied: "m4v");  $("#jumpToTime").click( function() {  $("#jpId").jPlayer("play", 42); // 从媒体的42秒处开始播放.});


 

 

 

 

 

 

 

原创粉丝点击