gpt4 book ai didi

json - 使用 JSON 从 Youtube API 返回视频持续时间

转载 作者:行者123 更新时间:2023-12-01 06:10:24 28 4
gpt4 key购买 nike

我正在尝试使用 JSON 检索并打印通过 Youtube API 返回的每个视频的持续时间。持续时间需要像这样输出:

9:34 分钟而不是秒

但我不知道下一步该做什么。我目前正在使用以下代码:

function showMyVideos2(data) {
var feed = data.feed;
var entries = feed.entry || [];
var html = ['<ul class="videos">'];
for (var i = 0; i < entries.length; i++) {
var entry = entries[i];
var title = entry.title.$t.substr(0, 20);
var thumbnailUrl = entries[i].media$group.media$thumbnail[0].url;
var playerUrl = entries[i].media$group.media$content[0].url;
html.push('<li>',
'<a href="', playerUrl, '" rel="vidbox 686 315"><img src="',
thumbnailUrl, '" width="130" height="97"/></a>', '<span class="titlec"><a href="', playerUrl, '" rel="vidbox 686 315">', title, '... </a></span></li>');
}
html.push('</ul><br style="clear: left;"/>');
document.getElementById('videos2').innerHTML = html.join('');
if (entries.length > 0) {
loadVideo(entries[0].media$group.media$content[0].url, false);
}
}

最佳答案

YouTube API 仅输出以秒为单位的时长。但是您可以创建一个函数将秒转换为您想要的时间格式。

function formatSecondsAsTime(secs) {
var hr = Math.floor(secs / 3600);
var min = Math.floor((secs - (hr * 3600)) / 60);
var sec = Math.floor(secs - (hr * 3600) - (min * 60));

if (hr < 10) {
hr = "0" + hr;
}
if (min < 10) {
min = "0" + min;
}
if (sec < 10) {
sec = "0" + sec;
}
if (hr) {
hr = "00";
}

return hr + ':' + min + ':' + sec;
}

只需将持续时间字段传递给函数:

var videoTime = formatSecondsAsTime(entries[i].media$group.media$content[0].duration);

关于json - 使用 JSON 从 Youtube API 返回视频持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15349457/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com