我想获得Youtube视频的持续时间.这是我试过的代码:
$vidID="voNEBqRZmBc";
//http://www.youtube.com/watch?v=voNEBqRZmBc
$url = "http://gdata.youtube.com/feeds/api/videos/". $vidID;
$doc = new DOMDocument;
$doc->load($url);
$title = $doc->getElementsByTagName("title")->item(0)->nodeValue;
Run Code Online (Sandbox Code Playgroud)
请检查XML文件.我得到了这个视频的标题.我希望得到持续时间<yt:duration seconds='29'/>.
如何获取seconds此<yt>标记的属性?
我正在寻找一个能从网址中提取视频的youtube持续时间的功能.我读了一些教程,但没有得到它.我使用网址在我的网站上嵌入视频,我有一个拉缩略图的功能,我只想要类似的东西来获取持续时间.这是我如何得到拇指......
function get_youtube_screen_link( $url = '', $type = 'default', $echo = true ) {
if( empty( $url ) )
return false;
if( !isset( $type ) )
$type = '';
$url = esc_url( $url );
preg_match("|[\\?&]v=([^&#]*)|",$url,$vid_id);
if( !isset( $vid_id[1] ) )
return false;
$img_server_num = 'i'. rand(1,4);
switch( $type ) {
case 'large':
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/0.jpg";
break;
case 'first':
// Thumbnail of the first frame
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/1.jpg";
break;
case 'small':
// Thumbnail of a later frame(i'm not sure how they …Run Code Online (Sandbox Code Playgroud) 我需要使用 Youtube API V3 获取视频时长。我的应用程序在 API V3 上运行良好,但现在不起作用。
我找到了一个有效的例子,它有效:
$dur = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=[VIDOID]&key=[API KEY]");
$duration =json_decode($dur, true);
foreach ($duration['items'] as $vidTime) {
$vTime= $vidTime['contentDetails']['duration'];
}
Run Code Online (Sandbox Code Playgroud)
这将返回类似这样的时间格式。
PT24M30S
Run Code Online (Sandbox Code Playgroud)
我怎样才能把它改写成一个可读的时间。像 24:30?