2012-06-16 62 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; 

          }