php设置计时器然后调用一个函数

时间:2012-12-31 06:15:06

标签: php timer youtube

我有一个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(...)但是在下一个视频加载时重置间隔时无效。非常感谢任何帮助:)

3 个答案:

答案 0 :(得分:1)

16 seconds延迟你必须使用

usleep($length * 1000000);  // 1000000 == 1 second

答案 1 :(得分:0)

由于您在几秒钟内(而不是几微秒)处理,您可以考虑使用sleep代替usleep

答案 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>