我想使用与此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函数完成时返回到播放列表中的下一个元素。
如果我的问题没有意义,请告诉我。如果需要,我很乐意澄清并发布我正在使用的其他代码。
答案 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;
}