inf*_*kie 13 javascript youtube
我想获得YouTube视频的宽高比,以便相应地调整播放器的大小.我正在使用JavaScript编写YT播放器.
hue*_*ice 14
我建议点击oembed网址:
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v= {videoID}&format = json
这为您提供了公开视频的精确视频尺寸.我不确定私人视频.它还会返回缩略图尺寸,在某些情况下似乎有所不同,所以请确保不要混淆它们.
在Data API调用中公开确切视频维度的唯一位置是使用v3 API 进行videos.list(part = fileDetails,id = VIDEO_ID)调用,同时作为视频所有者进行身份验证.它在video.fileDetails.videoStreams [].aspectRatio属性中返回.这不是特别有用,因为您需要作为视频所有者进行身份验证才能获得该信息.
如果您只有一个网页,并希望进行JSONP调用以获得有关给定视频是16:9还是4:3的提示,您可以通过
http://gdata.youtube.com/feeds/api/videos/?vVIDEO_ID = 2&alt = jsonc&callback = myCallback
例如
http://gdata.youtube.com/feeds/api/videos/F1IVb2_FYxQ?v=2&alt=jsonc&callback=myCallback
已"aspectRatio":"widescreen"设置其响应,这暗示视频为16:9(或接近16:9).
http://gdata.youtube.com/feeds/api/videos/u1zgFlCw8Aw?v=2&alt=jsonc&callback=myCallback
没有aspectRatio设置,这意味着视频是4:3(或接近4:3).它并不总是精确的宽高比,但它足够接近绝大多数视频都很有用.
我是这样做的。我从 youtube 图像中获取长宽比。
<img id"nnS7G3Y-IDc-img" src="http://i.ytimg.com/vi/nnS7G3Y-IDc/default.jpg" />
<script>
//using jquery
var height = $('#nnS7G3Y-IDc-img').css('height');
var width = $('#nnS7G3Y-IDc-img').css('width');
height = height.replace('px', '');
width = width.replace('px', '');
var arB = height / 3;
var arT = width / arB;
if (arT == 4) {
//do what you need to with the aspect ratio info from here
//just demonstrating with an alert
alert ("4:3");
}
else {alert ("16:9");}
</script>
Run Code Online (Sandbox Code Playgroud)
我从 youtube api 中提取所有视频信息,然后预先将所有视频信息存储在数据库中,因此,如果您即时执行此操作,您可能必须隐藏页面上的图像,然后以这种方式获取宽高比。
编辑** 另一种选择,可能也是最好的选择,是使用youtube 的 api。搜索视频,检查data->items->aspectRatio是否设置。我不认为它是在 4:3 视频上设置的,但在 16:9 上它设置为宽屏。应该像这样简单if (data->items->aspectRatio) {ratio= "16:9"} else {ratio="4:3"}
| 归档时间: |
|
| 查看次数: |
17483 次 |
| 最近记录: |