0

私は秒単位で長さを取得する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(...) も試しましたが、次のビデオがロードされたときに間隔をリセットしても機能しません。どんな助けでも大歓迎です:)

4

3 に答える 3

1

16 seconds遅延のために使用する必要があります

usleep($length * 1000000);  // 1000000 == 1 second
于 2012-12-31T06:17:34.273 に答える
0

(マイクロ秒ではなく)秒単位で処理しているため、sleep代わりにusleep.

于 2012-12-31T06:21:19.537 に答える