2012-06-16 60 views
0

我想要使用类似于此http://jsfiddle.net/Apnu2/6/ 的javascript倒计时函数,当我的xml文件中的'title'元素的值为'R15','R30','R45'或' R60' 。字母'R'后面的数字值是我想要传递javascript函数的倒计时时间。JW播放器xml播放列表和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函数完成时返回到播放列表中的下一个元素。

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

+0

我得到它的工作。 – Derek

回答

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; 

          }