我有一个youtube视频,我在几秒钟内得到它的持续时间,我想为该视频设置一个计时器,一旦完成,然后调用具有不同视频的功能。到目前为止,我所拥有的是:
$ytvidid = 'qasCLgrauAg';
$ytdataurl = "http://gdata.youtube.com/feeds/api/videos/". $ytvidid;
$feedURL = $ytdataurl;
$sxml = simplexml_load_file($feedURL);
$media = $sxml->children('http://search.yahoo.com/mrss/');
// get <yt:duration> node for video length
$yt = $media->children('http://gdata.youtube.com/schemas/2007');
$attrs = $yt->duration->attributes();
$length = $attrs['seconds'];
在这个例子中返回16秒,所以我尝试过:
usleep($length * 1000000);
flush();
loadnext();
function loadnext(){
//heres my next video
}
由于某些原因这不起作用..我做错了什么?我也尝试了javascript window.setInterval(...)但是在下一个视频加载时重置间隔时无效。非常感谢任何帮助:)
答案 0 :(得分:1)
16 seconds
延迟你必须使用
usleep($length * 1000000); // 1000000 == 1 second
答案 1 :(得分:0)
答案 2 :(得分:0)
好几个小时的阅读后,我发现我想要完成的事情无法用php的睡眠或usleep功能完成..所以我终于使用了javascript:
<script type="text/javascript">
var id = 1;
next(id);
var t;
function setValue(time, rowid)
{
id = rowid;
t = setInterval(cleartime, time * 1000);
}
function cleartime()
{
clearInterval(t);
next(parseInt(id, 10));
}
function next(id){
//this gets values and calls the setValue function again
}
</script>