我正在使用此功能来获取YouTube视频长度(以秒为单位)

function getDuration($url){
parse_str(parse_url($url,PHP_URL_QUERY),$arr);
$video_id=$arr['v'];
$data=@file_get_contents('http://gdata.youtube.com/feeds/api/videos/'.$video_id.'?v=2&alt=jsonc');
if (false===$data) return false;
$obj=json_decode($data);
return $obj->data->duration;
}

但是所有视频返回的时长为236的此类视频,其时长为42分45秒,这是示例
http://gdata.youtube.com/feeds/api/videos/gXGn06tuvZM?v=2&alt=jsonc

这是功能或youtube api的问题吗?正如我在打开youtube网站时注意到的那样,所有视频的时长都与图片中的一样

最佳答案

GData API已停用,无论您发送什么请求(我想是236秒),它都只会返回“不支持设备”的视频。您需要切换到API的V3。

关于php - 获取YouTube视频长度返回错误的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30233470/

10-12 13:01