0

当我的 xml 文件中的“标题”元素的值为“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 函数完成时返回播放列表中的下一个元素时遇到了问题。

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

4

1 回答 1

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; 

                           }
于 2012-06-20T20:14:45.243 回答