JW播放器xml播放列表和javascript

时间:2012-06-16 19:03:51

标签: javascript jwplayer

我想使用与此http://jsfiddle.net/Apnu2/6/类似的javascript倒计时功能 当我的xml文件中的'title'元素的值为'R15','R30','R45'或'R60'时。字母'R'后面的数字值是我想传递javascript函数的倒计时时间。

这是一个示例布局。第一个元素将播放视频。第二个元素应该调用上面提到的javascript函数,第三个元素是另一个应该在倒计时javascript函数达到零后播放的视频。

<?xml version="1.0"?>
<rss xmlns:media="http://search.yahoo.com/mrss/"xmlns:jwplayer="http://developer.longtailvideo.com/trac/" version="2.0">
<Channel>
  <Title>MRSS Playlist Playlist</Title>
    <item>
      <title>04:48</title>
      <media:content url="videos/Set1_mid.flv"></media:content>
      <media:thumbnail url="thumbs/set1_mid.jpg"></media:thumbnail>
      <description>5 minute cardio with handweights</description>
      <jwplayer:duration>288</jwplayer:duration>
      <jwplayer:start>0</jwplayer:start>
    </item>
    <item>
      <title>R15</title>
      <media:content url="nothing"></media:content>
      <media:thumbnail url="nothing"></media:thumbnail>
      <description>rest option</description>
      <jwplayer:duration>15</jwplayer:duration>
      <jwplayer:start>0</jwplayer:start>
    </item>
    <item>
      <title>01:20</title>
      <media:content url="http://youtu.be/WG2N0WKmquE"></media:content>
      <media:thumbnail url="http://img.youtube.com/vi/WG2N0WKmquE/3.jpg"></media:thumbnail>
      <description>harder than what it looks</description>
      <jwplayer:duration>580</jwplayer:duration>
      <jwplayer:start>500</jwplayer:start>
    </item>
</Channel>
</rss>

现在我的播放列表只播放一个视频,这是好的;但是我无法听到上面提到的标题值,运行javascript代码,然后在javascript函数完成时返回到播放列表中的下一个元素。

如果我的问题没有意义,请告诉我。如果需要,我很乐意澄清并发布我正在使用的其他代码。

1 个答案:

答案 0 :(得分:0)

以下是代码:

onPlaylistItem: function(event){

                           var getMessage = jwplayer("container").getPlaylistItem().message;

                           if (getMessage.substr(0,1)=="R"){


                               $("#bottomtimer").hide();
                               $("#bottomRestTimer").show();
                               var restTime = getMessage.substr(1,2);
                               var minutes = 0;
                               var time = minutes*60 + restTime;


                               var interval = setInterval(function(){

                                   if (time == 0 ){

                                   clearInterval(interval);                                       
                                   $("#bottomRestTimer").hide("slow");
                                   //$("#bottomtimer").show("slow");
                                   $("#bottomtimer").fadeIn(5000);

                                   jwplayer().playlistNext();


                                   }
                                   var minutes = (Math.floor(time/60 ));
                                   //this code add a zero like 01:15 which I like but I need to add
                                   //the same logic to the routine countdown
                                   //if (minutes < 10) minutes = "0" + minutes;
                                   var seconds = time % 60;
                                   if (seconds < 10) seconds = "0" + seconds;
                                   var text = minutes + ":" + seconds;

                                  document.getElementById('resttimer').innerHTML = text;

                                  time--;

                               }, 1000);


                           } else {
                               document.getElementById('topstatus').innerHTML = getMessage; 

                           }
相关问题